Windows Desktop Application (namespace Win)


Bar
Bar()
COLORREF GetColor()
bool operator <(const Win::Bar& bar)const
double GetValue()
virtual void SetColor(COLORREF color)
virtual void SetText(wstring text)
virtual void SetValue(double value)
wstring GetText()
~ Bar()
COLORREF Color
double Value
wstring Text

BarChart: A classic bar chart
BarChart(void)
Win::BarCollection& GetBars()
bool GetAutoscale()
bool IsEvent(Win::Event& e, int notification)
double GetMaxY()
double GetMinY()
int GetDivYCount()
virtual ~ BarChart(void)
void OnPaintControl(CG::IGdi& gdi)
void Refresh()
void SetAutoscale(bool autoscale)
void SetDivYCount(int count)
void SetMaxY(double value)
void SetMinY(double value)
void UpdateBar(int index)
void UpdateBarText(int index)
void UpdateBarValues()
int DivYCount
double MaxY
double MinY
bool Autoscale
Win::BarCollection& Bars

BarCollection
BarCollection()
Win::Bar& operator [ ](long index)
int GetCount()
void Add(const wstring& text, COLORREF color, double value)
void DeleteAll()
~ BarCollection()
int Count

BusyCursor: It provides a simplified method to show and hide a busy system cursor
BusyCursor()
BusyCursor(bool isBusy)
HCURSOR SetBusyCursor(bool isBusy)
bool IsBusyCursor()
~ BusyCursor()
bool IsBusy

Button: Button: The user click the button to execute an action, usually by calling a function Checkbox: The user may select YES or NO by clicking the checkbox Radio button: A set of radio buttons allows the user selecting from a set of options
Button(void)
COLORREF GetBackColor()
COLORREF GetTextColor()
LRESULT SetImage(CG::DDBitmap& bitmap)
Requires the style BS_BITMAP
LRESULT SetImage(HICON hicon)
To display an Icon and Text set the icon and do not use BS_ICON Requires the style BS_ICON LoadIcon only works with icons of size SM_CXICON, SM_CYICON to load icons of other sizes use LoadImage
LRESULT SetImage(Sys::Bitmap& bitmap)
Requires the style BS_BITMAP
LRESULT SetImage(Sys::Icon& icon)
To display an Icon and Text set the icon and do not use BS_ICON Requires the style BS_ICON LoadIcon only works with icons of size SM_CXICON, SM_CYICON to load icons of other sizes use LoadImage
bool IsChecked()
bool IsEnabled()
bool IsEvent(Win::Event& e, int notification)
bool & SqlGetBool()
static void DrawButtonText(CG::Gdi& gdi, DWORD buttonStyle, RECT rect, const wchar_t* text, COLORREF colorText)
virtual bool IsVisible()
virtual void SetBackColor(COLORREF color)
virtual void SetTextColor(COLORREF color)
virtual void SetVisible(bool visible)
virtual ~ Button(void)
void DrawButton(DRAWITEMSTRUCT* pDrawItem)
void DrawButton(DRAWITEMSTRUCT* pDrawItem, CG::DDBitmap& bitmap)
void SetChecked(bool checked)
void SetEnabled(bool enabled)
void SetText(const wstring& text)
void SqlUpdate(bool toGui)
void UpdateValue()
wstring& GetText()
wstring Text
bool Visible
bool Enabled
bool Checked
COLORREF BackColor
COLORREF TextColor
Sys::Bitmap& Bitmap
Sys::Icon& Icon

Camera: It capture video and audio from a camera #Win32+capCreateCaptureWindow Add the folowing two lines in the stdafx.h before including Wintempla.h #include "Vfw.h" #pragma comment(lib, "Vfw32.lib")
Camera()
HWND Create(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, int x, int y, int width, int height, HWND hParent, int id)
HWND CreateX(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, double cmX, double cmY, double cmWidth, double cmHeight, HWND hParent, int id)
PBITMAPINFO CreateBitmapInfoStruct(HBITMAP hBitmap)
bool Abort()
It stops the capture operation  Google Microsoft
bool Connect(int deviceIndex)
It connects a capture window to a capture driver  Google Microsoft
bool CopyFrameBuffer()
bool CreateBMPFile(const wchar_t* filename, PBITMAPINFO pBitmapInfo, HBITMAP hBitmap, HDC hDC)
bool Disconnect()
It disconnects a capture driver from a capture window  Google Microsoft
bool DlgVideoCompression()
It displays a dialog box to select a compressor to use during the capture process  Google Microsoft
bool DlgVideoDisplay()
It displays a dialog box in which the user can set or adjust the video output  Google Microsoft
bool DlgVideoFormat()
It displays a dialog box in which the user can select the video format  Google Microsoft
bool DlgVideoSource()
It displays a dialog box in which the user can control the video source  Google Microsoft
bool FileSaveAs(const wchar_t* filename)
bool FileSaveDIB(const wchar_t* filename)
bool GetDriverName(wchar_t* out_buffer, size_t buffer_len)
It returns the name of the capture driver connected to the capture window  Google Microsoft
bool GetDriverVersion(wchar_t* out_buffer, size_t buffer_len)
It returns the version information of the capture driver connected to a capture window  Google Microsoft
bool GrabFrame()
It retrieves and displays a single frame from the capture driver  Google Microsoft
bool IsEvent(Win::Event& e, int notification)
bool SetFileCaptureFile(const wchar_t* filename)
bool SetPreviewRate(int milliseconds)
bool SetStrechFrames(bool stretchFrames)
bool Stop()
It stops the capture operation  Google Microsoft
virtual ~ Camera()
void SetPreview(bool preview)

Caret
Caret()
bool Create(HWND hWnd, HBITMAP hBitmap, int logitUnitsCaretWidth, int logitUnitsCaretHeight)
It creates a caret  Google Microsoft
bool CreateBlack(HWND hWnd, int logitUnitsCaretHeight)
It creates a black caret  Google Microsoft
bool CreateGray(HWND hWnd, int logitUnitsCaretHeight)
It creates a gray caret  Google Microsoft
bool Hide()
It hides the caret  Google Microsoft
bool IsOwner(HWND hWnd)
It return true, when the hWnd created the caret
bool SetPosition(int x, int y)
It sets the position of the caret  Google Microsoft
bool Show()
It shows the caret  Google Microsoft
int GetX()
int GetY()
void Destroy()
It destroys the caret  Google Microsoft
void GetPosition(int& out_x, int& out_y)
It returns the position of the caret  Google Microsoft
void SetX(int x)
void SetY(int y)
~ Caret()
int X
int Y

Clipboard: It allows an application to copy information to another program It allows an application to paste informaton from another program
static bool CopyDDBFromClipboard(HWND hWnd, CG::DDBitmap& ddbitmap)
static bool CopyDDBToClipboard(HWND hWnd, CG::DDBitmap& ddbitmap)
static bool CopyDDBToClipboard(HWND hWnd, HBITMAP hBitmap)
static bool CopyFileListFromClipboard(HWND hWnd, vector<wstring >& output)
static bool CopyFromClipboard(HWND hWnd, const wchar_t* windowClass, Sys::BufferReader& output)
static bool CopyMetaFileFromClipboard(HWND hWnd, CG::Metafile& mf)
static bool CopyMetaFileToClipboard(HWND hWnd, CG::Metafile& mf)
static bool CopyTextFromClipboard(HWND hWnd, string& out_text)
static bool CopyTextFromClipboard(HWND hWnd, wchar_t* * text)
static bool CopyTextFromClipboard(HWND hWnd, wstring& out_text)
static bool CopyTextToClipboard(HWND hWnd, const char* text)
static bool CopyTextToClipboard(HWND hWnd, const string& text)
static bool CopyTextToClipboard(HWND hWnd, const wchar_t* text)
static bool CopyTextToClipboard(HWND hWnd, const wstring& text)
static bool CopyToClipboard(HWND hWnd, const wchar_t* windowClass, const Sys::BufferWriter& input)
static bool HasDDBitmap()
It returns true if the data in the clipboard is a Device Dependent Bitmap  Google Microsoft
static bool HasDIBitmap()
It returns true if the data in the clipboard is a Device Independent Bitmap  Google Microsoft
static bool HasFileList()
It returns true if the data in the clipboard is a list of files  Google Microsoft
static bool HasMetafile()
It returns true if the data in the clipboard is a metafile  Google Microsoft
static bool HasPrivateFirst()
It returns true if the data in the clipboard is CF_PRIVATEFIRST, index = 0, 1, ..  Google Microsoft
static bool HasText()
It returns true if the data in the clipboard is text  Google Microsoft
static bool IsDataFromWindowClass(const wchar_t* windowClass)
It returns true if the clipboard has data that was pasted from the a Window of the specified class
virtual ~ Clipboard(void)

CodeEditor: It allows the edition and displaying of programming code
CodeEditor(void)
static void FillCppFunctions(set<wstring >& functions)
static void FillCppKeywords(set<wstring >& keywords)
static void FillSqlFunctions(set<wstring >& functions)
static void FillSqlKeywords(set<wstring >& keywords)
virtual bool Redo()
virtual bool Undo()
virtual void OnChange(Win::Event& e)
virtual void OnMsgFilter(Win::Event& e)
virtual void OnProtected(Win::Event& e)
virtual void SetText(const wstring& text)
void CommentOut()
void FormatAll()
void FormatTextLines(int lineStart, int lineEnd)
void FormatTextRange(int charStart, int charEnd)
void PasteFromClipboard()
void Setup(const wchar_t* fontFamily, int fontSize)
void Uncomment()
~ CodeEditor(void)
wstring Text

ColorDisplay: It displays text in color
ColorDisplay(void)
bool GetBlink()
bool IsEvent(Win::Event& e, int notification)
int GetAlignment()
TA_LEFT, TA_CENTER, TA_RIGHT
virtual ~ ColorDisplay(void)
void SetAlignment(int alignment)
TA_LEFT, TA_CENTER, TA_RIGHT
void SetBlink(bool blink)
int Alignment
bool Blink

ColorDlg: Provides a standard GUI to select a color
COLORREF GetSelectedColor()
ColorDlg(void)
bool BeginDialog(HWND hWndParent)
bool LoadCustomColors(const wchar_t* filename)
bool SaveCustomColors(const wchar_t* filename)
virtual ~ ColorDlg(void)
void ResetCustomColors()
void SetSelectedColor(COLORREF color)
COLORREF SelectedColor

ColorMap: A X-Y-Z graph where the Z axis is displayed using different colors. See documentation Wintempla > Graphics > Dynamic Bitmap
ColorMap(void)
bool EventHandler(Win::Event& e)
bool GetShowAxis()
bool IsEvent(Win::Event& e, int notification)
double GetMaxX()
double GetMaxY()
double GetMaxZ()
double GetMinX()
double GetMinY()
double GetMinZ()
int GetDivXCount()
int GetDivYCount()
int GetDivZCount()
int GetNumColors()
int GetPixelsResolutionX()
int GetPixelsResolutionY()
virtual ~ ColorMap(void)
void OnPaintControl(CG::Gdi& gdi)
void Refresh()
void SetCaptionX(const wchar_t* caption, bool isSymbol)
void SetCaptionY(const wchar_t* caption, bool isSymbol)
void SetCaptionZ(const wchar_t* caption, bool isSymbol)
void SetDataProvider(Sys::IColorMapDataProvider* colorMapDataProvider)
See documentation Wintempla > Graphics > Dynamic Bitmap
void SetDivXCount(int count)
void SetDivYCount(int count)
void SetDivZCount(int count)
void SetMaxX(double value)
void SetMaxY(double value)
void SetMaxZ(double value)
void SetMinX(double value)
void SetMinY(double value)
void SetMinZ(double value)
void SetNumColors(int numColors)
numColors = 2: Blue > Cyan numColors = 3: Blue > Cyan > Green numColors = 4: Blue > Cyan > Green > Yellow numColors = 5: Blue > Cyan > Green > Yellow > Red numColors = 6: Blue > Cyan > Green > Yellow > Red > Purple numColors = 7: Blue > Cyan > Green > Yellow > Red > Purple > Black
void SetPixelsResolutionX(int numPixels)
void SetPixelsResolutionY(int numPixels)
void SetShowAxis(bool showAxis)
void Setup(double minX, double maxX, double minY, double maxY, double minZ, double maxZ)
int PixelsResolutionX
int PixelsResolutionY
int DivXCount
double MaxX
double MinX
int DivYCount
double MaxY
double MinY
int DivZCount
double MaxZ
double MinZ
bool ShowAxis
int NumColors

ColorTextBox
COLORREF GetBackColor()
COLORREF GetSelectionColor()
COLORREF GetTextColor()
ColorTextBox()
Win::Gdi::Font& GetFontX()
bool CanCopy()
It returns true when the selection is not empty
bool CanCut()
It returns true when the selection is not empty and the control is enabled and is not read only
bool CanDelete()
It returns true when the selection is not empty and the control is enabled and is not read only
bool CanPaste()
It returns true when the clipboard has text
bool CanRedo()
It returns true when it is possible to redo the last Undo operation
bool CanUndo()
It returns true when it is possible to undo the last operation
bool ClearSelection()
It removes the current selection
bool Copy()
It copies the selected text to the clipboard
bool CopyToBitmap(int width, int height, bool clientEdge, CG::DDBitmap& result)
bool CopyToClipboard()
It copies the text to the clipboard
bool EventHandler(Win::Event& e)
bool GetAcceptTabs()
bool GetBeginOfWordAtCaret(Win::SelectionPoint& out_BeginOfWord)
bool GetBeginOfWordAtCaret(list<Sys::CharInfo >::iterator& out_BeginOfWord)
bool GetEndOfWordAtCaret(const Win::SelectionPoint& in_BeginOfWord, Win::SelectionPoint& out_EndOfWord)
bool GetEndOfWordAtCaret(const list<Sys::CharInfo >::iterator& in_BeginOfWord, list<Sys::CharInfo >::iterator& out_EndOfWord)
bool GetWordAtCaret(wstring& output)
bool GetWrapText()
bool HasFocus()
bool IsEvent(Win::Event& e, int notification)
bool IsListTipActive()
bool IsPreviousCharNewLine()
It returns true if the character before at the selection (the caret) is '\n'
bool IsSelectedFirstInLine()
It returns true, if the current selection (the caret) is the first character in a line
bool IsSelectedLastInLine()
It returns true, if the current selection (the caret) is the last character in a line
bool IsSelectionEmpty()
If the selection is empty, it returns true
bool IsSelectionVisibleHorz()
It returns true if the selection is horizontally visible (i.e. the caret is visible)
bool IsSelectionVisibleVert()
It returns true if the selection is vertically visible (i.e. the caret is visible)
bool SaveEmfImage(const wchar_t* filename)
bool ScrollDown()
bool ScrollLeft()
bool ScrollRight()
bool ScrollUp()
double GetLeftMargin()
double GetLineSpacing()
int FindNext(const wchar_t* findThis, bool matchWholeWord, bool matchCase)
The function selects the specified text, if a match is found and returns the position of the text. Otherwise, it returns -1
int GetCaretLine()
int GetCaretPosition()
int GetCaretPositionX()
It returns the position X of the selection (i.e. the position X of the caret)
int GetCaretPositionY()
It returns the position Y of the selection (i.e. the position Y of the caret)
int GetEndSelectionLine()
int GetEndSelectionPosition()
int GetFontSize()
int GetHScrollPosition()
int GetLineCount()
int GetLineSelectionType(Win::SelectionPoint& point1, Win::SelectionPoint& point2, int line_index)
It returns one of: WIN_COLORTEXTBOX_NOSELECTION, WIN_COLORTEXTBOX_FULLROWSELECTION WIN_COLORTEXTBOX_BEGINSELECTION, WIN_COLORTEXTBOX_ENDSELECTION, WIN_COLORTEXTBOX_BEGINENDSELECTION
int GetMaxTextWidth()
It returns the width in pixels of the longest line in the control
int GetNumbVisibleLines()
It returns the number of text lines that can be visible in the control
int GetSelectedText(vector<Sys::CharInfo >& out_text)
int GetSelectedText(wstring& out_text)
int GetSelectedTextLength()
int GetTabSize()
int GetTextLength()
int GetUndoLevelCount()
int GetVScrollPosition()
int GetWindowText(wstring& out_text)
int ReplaceAll(const wchar_t* findThis, const wchar_t* replaceWithThis, bool matchWholeWord, bool matchCase)
It returns the number of replacements
int ReplaceNext(const wchar_t* findThis, const wchar_t* replaceWithThis, bool matchWholeWord, bool matchCase)
It replaces the current selection, then it selects the specified text, if a match is found If the word is found, it returns the position of the word. Otherwise, it returns -1
virtual void SetSelectionColor(COLORREF color)
void AddLineBreak()
It adds a line break at the current selection
void Clear()
It deletes all text in the control
void ClearUndoAndRedo()
It removes all undo and redo operations from memory
void CopyImageToClipboard()
void Cut()
It copies the selected text to the clipboard, then it deletes the selected text
void DecreaseFontSize()
It reduces the font size
void Delete()
It deletes the current selected text
void DeleteBackChar()
It deletes a character one position before the current selection
void DeleteChar()
It deletes a character at the current selection
void GetControlSize(int& width, int& height)
void GetFontFaceName(wstring& out_fontFaceName)
void GetSelection(int& out_nStart, int& out_nEnd)
It returns the current selection (if nStart is equal to nEnd, the selection is empty)
void GoogleDefinition()
void GoogleSynonym()
void HideListTip()
void IncreaseFontSize()
It increases the font size
void Insert(const wchar_t* text, COLORREF color, bool canBeUndone)
void Insert(const wchar_t* text, bool canBeUndone)
It inserts a string at the selection (at the caret)
void Insert(const wstring& text, COLORREF color, bool canBeUndone)
void Insert(const wstring& text, bool canBeUndone)
It inserts a string at the selection (at the caret)
void Insert(vector<Sys::CharInfo >& text)
It inserts a string at the selection (at the caret)
void Insert(wchar_t character)
It inserts one character at the selection (at the caret)
void LoadCopyIcon(HINSTANCE hInstance, int idi_copy)
void LoadCutIcon(HINSTANCE hInstance, int idi_cut)
void LoadDecreaseFontSizeIcon(HINSTANCE hInstance, int idi_decrease_font_size)
void LoadDeleteIcon(HINSTANCE hInstance, int idi_delete)
void LoadDictionaryIcon(HINSTANCE hInstance, int idi_dictionary)
void LoadFontIcon(HINSTANCE hInstance, int idi_font)
void LoadGoogleDefinitionIcon(HINSTANCE hInstance, int idi_font)
void LoadGoogleSynonymIcon(HINSTANCE hInstance, int idi_font)
void LoadIncreaseFontSizeIcon(HINSTANCE hInstance, int idi_increase_font_size)
void LoadPasteIcon(HINSTANCE hInstance, int idi_paste)
void LoadRedoIcon(HINSTANCE hInstance, int idi_redo)
void LoadSelectAllIcon(HINSTANCE hInstance, int idi_select_all)
void LoadToLowerIcon(HINSTANCE hInstance, int idi_font)
void LoadToUpperIcon(HINSTANCE hInstance, int idi_font)
void LoadUndoIcon(HINSTANCE hInstance, int idi_undo)
void MoveDown()
It moves the selection (the caret) one line down
void MoveEnd()
It moves the selection (the caret) to the end of line
void MoveFirstLine()
It moves the selection (the caret) to the beginning of control
void MoveHome()
It moves the selection (the caret) to the beginning of line
void MoveLeft()
It moves the selection (the caret) one character to the left
void MoveRight()
It moves the selection (the caret) one character to the right
void MoveUp()
It moves the selection (the caret) one line up
void OnPaintControl(CG::Gdi& gdi)
void OpenFontDialog()
void Paste()
It pastes the selected text to the clipboard
void Redo()
It restores the state of the control before the last undo operation
void ReplaceSelection(const wchar_t* replaceWithThis, bool canBeUndone)
It replaces the current selection
void ReplaceWordAtCaret(const wchar_t* replaceWithThis)
void ScrollToShowSelectionHorz()
It scrolls horizontally the control so that the selection and the caret are visible
void ScrollToShowSelectionVert()
It scrolls vertically the control so that the selection and the caret are visible
void SelectAll()
It selects all text in control
void SelectionBegin()
It moves the selection to the start of the text
void SelectionDown()
It increases the selection one line down
void SelectionEnd()
It moves the selection to the end of the text
void SelectionLeft()
It increases the selection one character to the left
void SelectionRight()
It increases the selection one character to the right
void SelectionUp()
It increases the selection one line up
void SetAcceptTabs(bool acceptTabs)
void SetBackColor(COLORREF color)
void SetControlSize(int width, int height)
void SetFont(Win::Gdi::Font& font)
void SetFont(int fontSize, const wchar_t* fontFaceName)
void SetFontSize(int fontSize)
void SetLeftMargin(double numSpaces)
void SetLineSpacing(double lineSpacing)
void SetSelection(int nStart, int nEnd)
It sets the current selection
void SetSelectionCaretBeforeSelectionEnd()
Moves selectionCaret before selectionEnd, if selectionCaret is after selectionEnd
void SetTabSize(int numSpaces)
void SetText(const wstring& text)
void SetTextColor(COLORREF color)
void SetTipSelectedIndex(int selectedItemIndex)
void SetUndoLevelCount(int numLevels)
void SetWindowText(const wchar_t* text)
void SetWrapText(bool wrapText)
void ShowListTip(const vector<wstring >& items, int selectedItemIndex, bool mouseKeyboardInteraction)
It displays a rectangular window to provide a tip with a list of items When mouseKeyboardInteration is true, the user can click an item to selected or use the keyboard to change the selection or the enter key to insert the text of item
void ShowListTip(const vector<wstring >& items, int selectedItemIndex, bool mouseKeyboardInteraction, int x, int y)
It displays a rectangular window to provide a tip with a list of items When mouseKeyboardInteration is true, the user can click an item to selected or use the keyboard to change the selection or the enter key to insert the text of item
void ToLowerCase()
It converts to lower case the selected text
void ToUpperCase()
It converts to upper case the selected text
void Undo()
It restores the state of the control before the last editing operation
void UpdateLinesAndCaret(bool makeSelectionVisible)
wchar_t GetCharAtCaret()
wchar_t GetCharAtSelectionEnd()
wstring& GetText()
~ ColorTextBox()
wstring Text
COLORREF BackColor
COLORREF TextColor
COLORREF SelectionColor
int TabSize
bool AcceptTabs
double LeftMargin
bool WrapText
int UndoLevelCount
double LineSpacing
Win::Gdi::Font& Font
int FontSize

ColtexState: This class is used to provide UNDO and REDO operations for the Win::ColorTextBox
ColtexState()
void Delete()
~ ColtexState()

Control
COLORREF GetBackColor()
COLORREF GetExtraColor()
COLORREF GetLineColor()
COLORREF GetTextColor()
Control(void)
HWND Create(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, int x, int y, int width, int height, HWND hParent, int id)
bool CopyToBitmap(int width, int height, bool clientEdge, CG::DDBitmap& result)
bool CopyToBitmap(int width, int height, bool clientEdge, CG::DIBitmap& result)
bool CopyToClipboard()
bool IsEvent(Win::Event& e, int notification)
bool OnPrintPage(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
bool SaveBMP(const wchar_t* filename)
bool SaveEMF(const wchar_t* filename)
bool SavePDF(const wchar_t* filename, double cm_margin)
int GetColorMode()
int GetElementCount(const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
int GetLineWidth()
int GetPageCount(const Win::PrintDocInfo& pdi)
virtual HFONT GetFont()
virtual int GetTextLength()
virtual int GetWindowText(wchar_t* text, int size)
virtual void ChooseSave(const wchar_t* workingFolder)
virtual void OnPaintControl(CG::Gdi& gdi)
virtual void OnPaintControl(CG::IGdi& gdi)
virtual void SetBackColor(COLORREF color)
virtual void SetExtraColor(COLORREF color)
virtual void SetFont(HFONT hfont)
virtual void SetFont(Win::Gdi::Font& font)
virtual void SetLineColor(COLORREF color)
virtual void SetText(const wstring& text)
virtual void SetTextColor(COLORREF color)
virtual void SetWindowText(const wchar_t* text)
virtual wstring& GetText()
virtual ~ Control(void)
void GetControlSize(int& width, int& height)
void OnPrintDocBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
void OnPrintDocEnd(CG::Gdi& gdi)
void OnPrintElement(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, const Win::PrintElementInfo& pei)
void OnPrintPartBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
void OnPrintPartEnd(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
void Print()
void SetColorMode(int colorMode)
colorMode: WIN_COLOR_MODE_NORMAL, WIN_COLOR_MODE_BLACKANDWHITE, WIN_COLOR_MODE_DARK
void SetControlSize(int width, int height)
void SetLineWidth(int lineWidth)
COLORREF BackColor
COLORREF TextColor
COLORREF LineColor
COLORREF ExtraColor
int ColorMode
wstring Text
Win::Gdi::Font& Font
int LineWidth

ControlD2D
COLORREF GetBackColor()
COLORREF GetLineColor()
COLORREF GetTextColor()
ControlD2D()
HWND Create(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, int x, int y, int width, int height, HWND hParent, int id)
bool CopyToBitmap(int width, int height, bool clientEdge, CG::DIBitmap& out_bitmap)
bool CopyToClipboard()
bool IsEvent(Win::Event& e, int notification)
bool OnPrintPage(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
bool SaveBMP(const wchar_t* filename)
bool SaveEMF(const wchar_t* filename, bool highResolution)
bool SavePDF(const wchar_t* filename, double cm_margin, bool isPortrait)
int GetColorMode()
int GetElementCount(const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
int GetLineWidth()
int GetPageCount(const Win::PrintDocInfo& pdi)
virtual int GetTextLength()
virtual int GetWindowText(wchar_t* text, int size)
virtual void ChooseSave(const wchar_t* workingFolder)
virtual void SetBackColor(COLORREF color)
virtual void SetLineColor(COLORREF color)
virtual void SetText(const wstring& text)
virtual void SetTextColor(COLORREF color)
virtual void SetWindowText(const wchar_t* text)
virtual wstring& GetText()
void OnPrintDocBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
void OnPrintDocEnd(CG::Gdi& gdi)
void OnPrintElement(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, const Win::PrintElementInfo& pei)
void OnPrintPartBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
void OnPrintPartEnd(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
void Print()
void SetColorMode(int colorMode)
colorMode: WIN_COLOR_MODE_NORMAL, WIN_COLOR_MODE_BLACKANDWHITE, WIN_COLOR_MODE_DARK
void SetFont(Win::Gdi::Font& font)
void SetLineWidth(int lineWidth)
~ ControlD2D()
COLORREF BackColor
COLORREF TextColor
COLORREF LineColor
int ColorMode
wstring Text
Win::Gdi::Font& Font
int LineWidth

DateTimeBox: It provides a simple and intuitive interface through which to exchange date and time information with a user
DateTimeBox(void)
Sys::SqlTime& SqlGetTime()
Sys::Time GetSelectedDateTime()
Sys::Time& SqlGetSysTime()
bool GetCurrentSelection(Sys::Time& systime)
bool GetCurrentSelection(int& month, int& day, int& year)
bool IsEnabled()
bool IsEvent(Win::Event& e, int notification)
void SetMonthBkColor(COLORREF color); void SetTitleBkColor(COLORREF color); void SetTitleTextColor(COLORREF color); void SetTrailingTextColor(COLORREF color);
bool SetCurrentSelection(int month, int day, int year)
bool SetFormat(const wchar_t* format)
MM The two-digit month number.Single-digit values are preceded by a zero. MMM The three-character month abbreviation. MMMM The full month name. t The one-letter AM/PM abbreviation (that is, AM is displayed as "A"). tt The two-letter AM/PM abbreviation (that is, AM is displayed as "AM"). yy The last two digits of the year (that is, 1996 would be displayed as "96"). yyyy The full year (that is, 1996 would be displayed as "1996"). format> L"hh:mm:ss dddd MMM dd, yyyy"  Google Microsoft
bool SetRange(Sys::Time& minimum, Sys::Time& maximum)
bool SetSelectedDateTime(Sys::Time& systime)
virtual bool IsVisible()
virtual void SetVisible(bool visible)
virtual ~ DateTimeBox(void)
void SetEnabled(bool enabled)
void SetText(const wstring& text)
void SqlUpdate(bool toGui)
void UpdateValue()
wstring& GetText()
wstring Text
bool Visible
bool Enabled
Sys::Time SelectedDateTime

DateView: It implements a calendar-like user interface
COLORREF GetBackColor()
COLORREF GetMonthBkColor()
COLORREF GetTextColor()
COLORREF GetTitleBkColor()
COLORREF GetTitleTextColor()
COLORREF GetTrailingTextColor()
DateView(void)
Sys::SqlTime& SqlGetTime()
Sys::Time GetCurrentSelection()
Sys::Time& SqlGetSysTime()
bool GetCurrentSelection(Sys::Time& systime)
bool GetCurrentSelection(int& month, int& day, int& year)
bool IsEvent(Win::Event& e, int notification)
bool SetCurrentSelection(Sys::Time& systime)
bool SetCurrentSelection(int month, int day, int year)
bool SetRange(Sys::Time& minimum, Sys::Time& maximum)
virtual ~ DateView(void)
void AdjustSize(int x, int y)
void SetBackColor(COLORREF color)
void SetMonthBkColor(COLORREF color)
void SetTextColor(COLORREF color)
void SetTitleBkColor(COLORREF color)
void SetTitleTextColor(COLORREF color)
void SetTrailingTextColor(COLORREF color)
void SqlUpdate(bool toGui)
void Window_Size(Win::Event& e)
Sys::Time SelectedDate
COLORREF BackColor
COLORREF TextColor
COLORREF MonthBkColor
COLORREF TitleBkColor
COLORREF TitleTextColor
COLORREF TrailingTextColor

Dialog: A generic dialog class to create dialogs
BOOL MapDialogRect(RECT* pRect)
Dialog(void)
HWND CreateDialog_(HWND hWndParent)
Modeless Dialog
HWND CreateDialog_(HWND hWndParent, int icon_id)
Modeless Dialog
HWND CreateDialog__(HWND hWndParent, LPDLGTEMPLATE pTemplate)
Modeless Dialog
HWND GetHWND()
HWND GetNextGroupItem(HWND hWndCurrentControl)
HWND GetNextTabItem(HWND hWndCurrentControl)
HWND GetPrevGroupItem(HWND hWndCurrentControl)
HWND GetPrevTabItem(HWND hWndCurrentControl)
LONG_PTR SetReturnValue(LONG_PTR value)
bool IsModelessDlgMessage(MSG& msg)
int BeginDialog(USHORT iconID, HINSTANCE hInstance)
Modal Dialog Application
int DialogBox_(HWND hWndParent)
Modal Dialog
int MessageBox(const wchar_t* text, const wchar_t* caption, UINT type)
int MessageBox(const wstring& text, const wstring& caption, UINT type)
static void SetInstance(HINSTANCE hInstance)
virtual int BeginDialog(HWND hWndParent)
Modal Dialog
virtual int BeginDialog(HWND hWndParent, int icon_id)
Modal Dialog
virtual ~ Dialog(void)
void CenterAndFitToScreen(int percent)
It changes the position and size of the diaglog percent goes from 10 to 100
void EndDialog(int result)
void SetDefaultButton(Win::Button& button)

Digit: Displays a single digit
COLORREF GetBackColor(void)
COLORREF GetColor(void)
Digit(void)
bool IsEvent(Win::Event& e, int notification)
int GetValue()
virtual ~ Digit(void)
void SetBackColor(COLORREF color)
void SetColor(COLORREF color)
void SetValue(int n)

DropDownImageList: They are an extension of the drop down list control that provides native support for item images from an Win::ImageList variable
DWORD GetSelectedData()
DropDownImageList(void)
LRESULT SetSelected(int index)
LRESULT ShowDropDown(bool show)
ListImageCollection& GetItems()
bool AddItem(COMBOBOXEXITEM cbei)
bool AddItem(int index, int indent, int image, int imageSelected, const wchar_t* text)
bool AddItem(int index, int indent, int image, int imageSelected, const wchar_t* text, LPARAM data)
bool AddItem(int index, int indent, int image, int imageSelected, const wstring& text)
bool AddItem(int index, int indent, int image, int imageSelected, const wstring& text, LPARAM data)
bool IsEvent(Win::Event& e, int notification)
int FindString(int beginSearchIndex, LPCSTR thisString)
The zero-based index of the item preceding the first item to be searched. When the search reaches the bottom of the list box, it continues from the top of the list box back to the item specified by the wParam parameter. If beginSearchIndex is –1, the entire list box is searched from the beginning. It returns the zero-based index of the matching item. If the search is unsuccessful, it returns CB_ERR  Google Microsoft
int GetSelectedIndex()
The return value is the zero-based index of the currently selected item. If no item is selected, the return value is -1.
int SelectString(int beginSearchIndex, const wchar_t* thisString)
It searches the list of a combo box for an item that begins with the characters in a specified string. If a matching item is found, it is selected and copied to the edit control. If the string is found, the return value is the index of the selected item. If the search is unsuccessful, the return value is CB_ERR and the current selection is not changed.  Google Microsoft
virtual ~ DropDownImageList(void)
void DeleteAllItems()
void SetImageList(Win::ImageList& imageList, HWND parent)
void SetSelectedByData(DWORD data)
void SetSelectedByData(const wchar_t* data)
int SelectedIndex
DWORD SelectedData
ListImageCollection& Items

DropDownList: A list and a selection field. The list presents the options that a user can select and the selection field displays the current selection
DropDownList(void)
LPARAM& SqlGetInt()
LRESULT FillWithDirectoryInfo(int attributes, const wchar_t* filter)
It fills the control with the names of directories and files that match a specified string and set of file attributes attributes: DDL_READWRITE, DDL_READONLY, DDL_HIDDEN, DDL_SYSTEM DDL_DIRECTORY, DDL_ARCHIVE, DDL_DRIVES, DDL_EXCLUSIVE (For searching) filter: "*.*", "*.wav", "*.jpg"  Google Microsoft
LRESULT SetSelected(const wchar_t* searchString)
LRESULT SetSelected(const wstring& searchString)
LRESULT ShowDropDown(bool show)
ListItemCollection& GetItems()
bool IsEvent(Win::Event& e, int notification)
int GetItemCount()
int GetMinWidth()
virtual LPARAM GetItemData(int index)
It returns CB_ERR on error
virtual bool DeleteItem(int index)
virtual bool GetItemText(int index, wchar_t* buffer, int buffer_length)
virtual bool GetItemText(int index, wstring& out_text)
virtual bool GetSelectedData(LPARAM& out_data)
virtual bool IsEnabled()
virtual bool IsVisible()
virtual bool SetItemData(int index, const LPARAM data)
virtual bool SetSelectedByData(LPARAM data)
virtual bool SetSelectedIndex(int index)
virtual int GetSelectedIndex()
virtual void AddItem(const wchar_t* text, LPARAM data)
virtual void AddItem(const wstring& text, LPARAM data)
virtual void DeleteAllItems()
virtual void SetEnabled(bool enabled)
virtual void SetText(const wstring& text)
virtual void SetVisible(bool visible)
virtual wstring& GetText()
virtual ~ DropDownList(void)
void ClearSelection()
void CopyToClipboard()
void CutSelection()
void Enumerate(wchar_t* * data, int colCount, int rowIndex)
void GetInfo(COMBOBOXINFO& comboInfo)
comboboxinfo.rcItem: It returns the coordinates of the edit box. comboboxinfo.rcButton: It returns the coordinates of the button that contains the drop - down arrow. comboboxinfo.hwndCombo: It returns a handle to the combo box. comboboxinfo.hwndItem: It returns a handle to the textbox. comboboxinfo.hwndList: It returns a handle to the drop - down list.
void PasteFromClipboard()
void SqlUpdate(bool toGui)
void UpdateValue()
wstring Text
bool Visible
bool Enabled
int SelectedIndex
ListItemCollection& Items

Exporter
static bool CopyToBitmap(Win::IExportableEx& ixp, int width, int height, bool clientEdge, CG::DDBitmap& result)
It exports to a BMP an screenshot of any object that implements Win::IExportable
static bool CopyToClipboard(Win::IExportableEx& ixp)
It copies to the clipboard an screenshot of any object that implements Win::IExportable
static bool SaveEMF(const wchar_t* filename, Win::IExportableEx& ixp, double scale)
It creates a EMF file from any object that implements Win::IExportable scale = 1.0, 2.0, 3.0, etc. To obtain the maximum resolution used scale = -1
static bool SavePDF(const wchar_t* filename, bool isPortrait, double margin, Win::IExportableEx& ixp)
It creates a PDF file from any object that implements Win::IExportable
~ Exporter(void)

FileDlg: It provides a standard GUI to select a file
FileDlg(void)
bool BeginDialog(HWND hWndParent, const wchar_t* caption, bool save)
bool SetFileName(const wchar_t* filename)
const wchar_t* GetFileName()
const wchar_t* GetFileNameFullPath()
const wchar_t* GetFilePath()
virtual ~ FileDlg(void)
void Clear()
void ClearFileName()
void SetFilter(const wchar_t* pszFilter, int nFilterIndex, const wchar_t* pszDefaultExtenstion)
Default extension is appended if the user does not provide one SetFilter(L"Text Documents (*.txt)\0*.txt\0All Files (*.*)\0*.*\0\0", 0, L"txt"); The first pair of strings has an nFilterIndex value of 1, the second pair 2, and so on. An nFilterIndex of zero indicates the custom filter specified by lpstrCustomFilter.
void SetSelectedFileName(const wstring filename)
void SetWorkingFolder(const wstring& folderName)
wstring GetSelectedFileName()
wstring& GetWorkingFolder()
wstring WorkingFolder
wstring SelectedFileName

FindReplaceDlg: It provides a standard GUI to find and replace
DWORD GetFlags()
flags: FR_DOWN, FR_WHOLEWORD, FR_MATCHCASE, FR_FINDNEXT, FR_REPLACE FR_REPLACEALL, FR_DIALOGTERM, FR_SHOWHELP, FR_ENABLEHOOK, FR_ENABLETEMPLATE FR_NOUPDOWN, FR_NOMATCHCASE, FR_NOWHOLEWORD, FR_ENABLETEMPLATEHANDLE FR_HIDEUPDOWN, FR_HIDEMATCHCASE, FR_HIDEWHOLEWORD
FindReplaceDlg(void)
HWND BeginFindDialog(HWND hWndParent, const wchar_t* findThis)
It opens the standard Microsoft Windows Find Dialog  Google Microsoft
HWND BeginReplaceDialog(HWND hWndParent, const wchar_t* findThis, const wchar_t* replaceWithThis)
It opens the standard Microsoft Windows Replace Dialog  Google Microsoft
bool IsModelessDlgMessage(MSG& msg)
static bool IsEvent(Win::Event& e)
It returns true when the event was generated from the Find and Replace dialog
virtual ~ FindReplaceDlg(void)
void SetFlags(DWORD flags)
flags: FR_DOWN, FR_WHOLEWORD, FR_MATCHCASE, FR_FINDNEXT, FR_REPLACE FR_REPLACEALL, FR_DIALOGTERM, FR_SHOWHELP, FR_ENABLEHOOK, FR_ENABLETEMPLATE FR_NOUPDOWN, FR_NOMATCHCASE, FR_NOWHOLEWORD, FR_ENABLETEMPLATEHANDLE FR_HIDEUPDOWN, FR_HIDEMATCHCASE, FR_HIDEWHOLEWORD
DWORD Flags

FlowDisplay: It displays flow
COLORREF GetColor(void)
FlowDisplay(void)
bool IsEvent(Win::Event& e, int notification)
virtual ~ FlowDisplay(void)
void SetColor(COLORREF color)
void SetFlow(Win::FlowDisplay::Flow flow)

FolderDlg: It provides a standard graphic interface to request a folder from the user
FolderDlg(void)
wchar_t* BeginDialog(HWND hParent, const wchar_t* caption)
BeginDialog opens the Folder Dialog It returns the select path, or nullptr if the user cancels the dialog
wchar_t* GetFolderName()
You may call this funtion after a successfull call to BeginDialog
~ FolderDlg(void)

Font
BYTE GetCharSet()
Font(const Win::Gdi::Font& init)
Font(void)
HFONT Create(const LOGFONT& logfont)
HFONT Create(const wchar_t* name, int pixelsHeight, bool bold, bool italic, bool underline, bool strikeout)
HFONT CreateX(const wchar_t* name, double cmHeight, bool bold, bool italic, bool underline, bool strikeout)
HFONT GetHFONT()
Win::Gdi::Font& operator =(const Win::Gdi::Font& init)
bool GetLogFont(LOGFONT& out_logfont)
int GetSize()
void ChangeSize(int amount)
It changes the font of the size. If amount is positive, it increases the font size If amount is negative, it reduces the font size
void DecreaseSize()
void Delete()
void GetFaceName(wstring& out_faceName)
void IncreaseSize()
void SetCharSet(BYTE charSet)
void SetSize(int size)
~ Font(void)
int Size
BYTE CharSet

FontDlg: It provides a standard graphic interface to request a font from the user
COLORREF GetSelectedFontColor()
FontDlg(void)
LOGFONT& GetSelectedLogFont()
bool BeginDialog(HWND hWndParent)
double GetSelectedPointSize()
virtual ~ FontDlg(void)
void SetSelectedFont(CG::Font& font)
void SetSelectedFontColor(COLORREF color)
void SetSelectedFontName(const wstring& fontname)
void SetSelectedLogFont(LOGFONT& logFont)
void SetSelectedPointSize(const double pointSize)
wstring GetSelectedFontName()
wstring SelectedFontName
double SelectedPointSize
LOGFONT SelectedLogFont

Gdi

Graph: An XY graph or polar graph to be use with the XyChart or PolarChart controls
CG::PointF& Get(long index)
CG::PointF& operator [ ](long index)
Subscript operator
CG::PointF* GetDataPoints()
Graph& operator =(const Graph& init)
Graph()
Graph(const Graph& init)
POINT* GetScreenPoints()
bool DownSample(int newLength)
bool Load(Sys::File& file)
bool Save(Sys::File& file)
const CG::PointF& operator [ ](long index)const
Subscript operator
double GetMaxX()
double GetMaxY()
double GetMinX()
double GetMinY()
int GetPointCount()
int GetToolTipText(const POINT& pt, wchar_t* text, int textLength, bool polar)
virtual bool SetPointCount(int pointCount)
virtual ~ Graph()
void Delete()
void Set(long index, double x, double y)
It sets the value of the point specified by index with the values of "x" and "y"
void SetData(const valarray<double >& x, const valarray<double >& y)
It sets the points of the graph using the values of "x" and "y"
void SetData(const vector<double >& x, const vector<double >& y)
It sets the points of the graph using the values of "x" and "y"
void SetData(double* x, double* y, int numbValues)
It sets the points of the graph using the values of "x" and "y". numbValues indicates the number of values in "x" and "y"
void SetData(double* y, int numbValues)
It sets the points of the graph using the values "y". numbValues indicates the number of values in "y". "x" is assumed to be 1, 2, 3, ...
void SetGraphType(int graphType)
Win::Graph::dot, Win::Graph::line, Win::Graph::cross, Win::Graph::circle, Win::Graph::square, Win::Graph::histogram, Win::Graph::impulse, Win::Graph::number

GraphCollection
GraphCollection()
Win::Graph& operator [ ](long index)
bool Load(Sys::File& file)
bool Save(Sys::File& file)
int Add()
It adds a new graph and returns the number of graphs
int Add(const valarray<double >& x, const valarray<double >& y)
It adds a new graph based on the value of x and y, both vectors must have the same size The function returns the number of graphs
int Add(const vector<double >& x, const vector<double >& y)
It adds a new graph based on the value of x and y, both vectors must have the same size The function returns the number of graphs
int Add(int graphPointCount)
It adds a new graph and returns the number of graphs
int GetCount()
void Delete(long index)
void DeleteAll()
void SetCount(int count)
~ GraphCollection()
int Count

GraphSetupDlg: It provides a graphic user interface to configure an XyChart control
GraphSetupDlg()
~ GraphSetupDlg()

Header: A header control is used in a List view control.
HIMAGELIST SetImageList(Win::ImageList& imageList)
Header()
bool GetItem(int index, HDITEM& item)
The mask member of the item must be set to indicate which attributes are being get.  Google Microsoft
bool GetItemText(int index, wchar_t* buffer, int buffer_len)
It returns the text of the item  Google Microsoft
bool IsEvent(Win::Event& e, int notification)
bool SetCustomDraw(int index, bool customDraw)
The parent will receive WM_NOTIFY. NM_CUSTOMDRAWlpNMCustomDraw = (LPNMCUSTOMDRAW)lParam;  Google Microsoft
int GetItemCount()
It gets the number of items.  Google Microsoft
int InsertItem(int index, const HDITEM& item)
if index is bigger than or equal to the number of items in the control, the new item is inserted at the end. If index is zero, the new item is inserted at the beginning of the header control. It returns the index of the new item if successful, or -1 otherwise. Use a format of HDF_OWNERDRAW (WM_DRAWITEM) for custom drawing.  Google Microsoft
int InsertItem(int index, wchar_t* text, int width, int format)
if index is bigger than or equal to the number of items in the control, the new item is inserted at the end. If index is zero, the new item is inserted at the beginning of the header control. It returns the index of the new item if successful, or -1 otherwise. format: HDF_CENTER, HDF_LEFT, HDF_RIGHT Use a format of HDF_OWNERDRAW (WM_DRAWITEM for custom drawing.  Google Microsoft
int InsertItem(int index, wchar_t* text, int width, int format, HBITMAP hBitmap, LPARAM data)
if index is bigger than or equal to the number of items in the control, the new item is inserted at the end. If index is zero, the new item is inserted at the beginning of the header control. It returns the index of the new item if successful, or -1 otherwise. format: HDF_CENTER, HDF_LEFT, HDF_RIGHT Use a format of HDF_OWNERDRAW (WM_DRAWITEM for custom drawing.  Google Microsoft
int InsertItem(int index, wchar_t* text, int width, int format, LPARAM data)
if index is bigger than or equal to the number of items in the control, the new item is inserted at the end. If index is zero, the new item is inserted at the beginning of the header control. It returns the index of the new item if successful, or -1 otherwise. format: HDF_CENTER, HDF_LEFT, HDF_RIGHT Use a format of HDF_OWNERDRAW (WM_DRAWITEM for custom drawing.  Google Microsoft
int InsertItem(int index, wchar_t* text, int width, int format, int imageListIndex, LPARAM data)
if index is bigger than or equal to the number of items in the control, the new item is inserted at the end. If index is zero, the new item is inserted at the beginning of the header control. It returns the index of the new item if successful, or -1 otherwise. format: HDF_CENTER, HDF_LEFT, HDF_RIGHT Use a format of HDF_OWNERDRAW (WM_DRAWITEM for custom drawing.  Google Microsoft
int SetItem(int index, const HDITEM& item)
It returns nonzero upon success, or zero otherwise. The mask member of the item must be set to indicate which attributes are being set.  Google Microsoft
~ Header()

Histogram: It displays a histogram
Histogram()
int SetData(valarray<double >& data, int binCount, bool percentDisplay)
The function returns the highest frequency in the data
virtual ~ Histogram()

HorizontalScroll: It provides functionability to scroll items horizontally
HorizontalScroll(void)
bool GetItemRect(int columnIndex, RECT& out_rect)
bool GetSelectionRect(RECT& out_rect)
bool IsSelectionVisible()
bool SetSelectedCol(int colIndex)
bool SetSelectedCols(int colIndex1, int colIndex2)
It selects the colums from colIndex1 to colIndex2 including colIndex2
int GetColumnCount()
int GetColumnWidth()
int GetSelectedCol()
virtual void HorizontalPaint(int paintEvent, CG::Gdi& gdi, const RECT& cell, int colIndex, bool isSelected)
paintEvent: WNT_PAINTCELLSBEGIN, WNT_PAINTCELL, WNT_PAINTCELLSEND
virtual ~ HorizontalScroll(void)
void GetSelectedCols(int& out_colIndex1, int& out_colIndex2)
It returns the index of the fist selected column and the index of the last selected column The returned indexes are -1, if there is no selection
void RemoveSelection()
void RepaintColumn(int itemColumn)
void RepaintSelectedItem()
void ResetPosition()
void SetColumnCount(int columnCount)
void SetColumnWidth(int columnWidth)
void ShowSelection()
It scrolls the control to make the selection visible
int ColumnWidth
int ColumnCount
int SelectedCol

HorizontalSplitter
HWND Setup(HWND parent, int splitterPositionY)
HorizontalSplitter(void)
virtual ~ HorizontalSplitter(void)
void SetSplitterPosition(int y)
Call this function to manually set the position of the splitter
void UpdateChildrenPosition()
Call this function in Window_Size and Window_Open

HotKey
HotKey(void)
virtual ~ HotKey(void)
void SetHotKey(WPARAM defaultKey)
void SetRules(WPARAM invalidKeyCombinations, LPARAM invalidEntries)

HourGlassCursor: It provides a simplified method to show and hide a busy system cursor
HCURSOR SetAppStarting()
HCURSOR SetBusy()
HourGlassCursor(bool busy)
HourGlassCursor(void)
virtual ~ HourGlassCursor(void)
void SetNormal()

IExportableEx: It provides a simplified way to copy a Window to the clipboard or to save a Window to a file A control that implements IExportableEx is capable of storing as: EMF, BMP and PDF
virtual HFONT GetFont() = 0
virtual int GetLineWidth() = 0
virtual void GetControlSize(int& width, int& height)= 0
virtual void OnPaintControl(CG::Gdi& gdi)
virtual void OnPaintControl(CG::IGdi& gdi)= 0
virtual void SetControlSize(int width, int height)= 0
virtual void SetFont(HFONT hfont)= 0
virtual void SetLineWidth(int lineWidth)= 0

IModelessDlg
virtual bool IsModelessDlgMessage(MSG& msg)= 0

IParent
virtual HWND GetHWND() = 0
virtual void DoDock(int initialWidth, int initialHeight, int newWidth, int newHeight)= 0
virtual void GetInitialRect(RECT& initialRect)= 0
virtual void UpdateValue() = 0

IPrintDoc: A class that implements the IPrintDoc interface can be sent pages to the printer
virtual bool OnPrintPage(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)= 0
virtual int GetPageCount(const Win::PrintDocInfo& pdi)= 0
1000 milli centimeters = 1 centimeter
virtual void OnPrintDocBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)= 0
virtual void OnPrintDocEnd(CG::Gdi& gdi)= 0

IPrintElement: A class that implements the IPrint interface can be used in a document that can be sent to the printer
virtual int GetElementCount(const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)= 0
virtual void OnPrintElement(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, const Win::PrintElementInfo& pei)= 0
virtual void OnPrintPartBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)= 0
virtual void OnPrintPartEnd(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)= 0

Image: It displays an image: EMF, BMP, ICO, JPG, PNG, GIF
COLORREF GetBackColor()
Image(void)
bool CopyToClipboard()
bool IsEvent(Win::Event& e, int notification)
bool SetBitmap(HINSTANCE hInstance, int bitmap_id)
bool SetEMF(HINSTANCE hInstance, int emf_id)
bool SetFileName(const wstring& filename)
EMF, BMP, ICO, JPG, PNG, GIF
bool SetIcon(HINSTANCE hInstance, int icon_id)
The Icon will be displayed on the default size using the screen DPI
const wstring& GetFileName()
virtual void SetBackColor(COLORREF color)
virtual ~ Image(void)
COLORREF BackColor
wstring& FileName

ImageList: An image list is a collection of images of the same size, each of which can be referred to by its index. Image lists are used to efficiently manage large sets of icons or bitmaps.All images in an image list are contained in a single list. An image list can be used on a ListView control, Tab control, ...
BOOL Destroy()
BOOL Draw(int index, HDC hdc, int x, int y, int dx, int dy, UINT fStyle)
BOOL Remove(int index)
BOOL RemoveAll()
HIMAGELIST Create(int iconPixelsWidth, int iconPixelsHeight, UINT flags, int initialNumImages, int grow)
flags: ILC_MASK, ILC_COLOR, ILC_COLOR8, ILC_COLOR16, ILC_COLOR24, ILC_COLOR32, ILC_ORIGINALSIZE, ILC_HIGHQUALITYSCALE, ...
HIMAGELIST Create(int iconPixelsWidth, int iconPixelsHeight, int initialNumImages)
HIMAGELIST CreateFromBitmap(HINSTANCE hi, const wchar_t* bimap_id, int width, int grow, COLORREF mask, UINT uFlags)
HIMAGELIST GetHImageList()
ImageList(void)
int AddIcon(HICON hIcon)
int AddIcon(HINSTANCE hInstance, const wchar_t* icon_id)
int AddIcon(HINSTANCE hInstance, int icon_id)
int AddSystemIcon(LPTSTR idIcon)
int GetIconHeight()
int GetIconWidth()
int GetImageCount()
int ReplaceIcon(int index, HICON hicon)
int ReplaceIcon(int index, HINSTANCE hInst, const wchar_t* icon_id)
int ReplaceIcon(int index, HINSTANCE hInst, int icon_id)
operator HIMAGELIST()
virtual ~ ImageList(void)

IpAddress
IpAddress(void)
bool IsBlank()
virtual ~ IpAddress(void)
void Clear()
void GetAddress(int& b1, int& b2, int& b3, int& b4)
void SetAddress(int b1, int b2, int b3, int b4)
void SetFieldRange(int index, int minimum, int maximum)

Label: A label to display text
COLORREF GetBackColor()
COLORREF GetTextColor()
LRESULT SetImage(CG::DDBitmap& bitmap)
LRESULT SetImage(CG::Metafile& metafile)
LRESULT SetImage(HBITMAP hbitmap)
LRESULT SetImage(HENHMETAFILE henhmetafile)
LRESULT SetImage(HICON hicon)
LRESULT SetImage(Sys::Bitmap& bitmap)
LRESULT SetImage(Sys::Icon& icon)
Label(void)
bool GetTransparent()
bool IsEnabled()
bool IsEvent(Win::Event& e, int notification)
virtual bool IsVisible()
virtual void SetVisible(bool visible)
virtual ~ Label(void)
void SetBackColor(COLORREF color)
void SetEnabled(bool enabled)
void SetText(const wstring& text)
void SetTextColor(COLORREF color)
void SetTransparent(bool transparent)
wstring& GetText()
wstring Text
bool Visible
bool Enabled
COLORREF BackColor
COLORREF TextColor
bool Transparent

LevelControl: It displays the value of a variable using a color bar
COLORREF GetErrorColor()
COLORREF GetWarningColor()
LevelControl(void)
double GetErrorLevel()
double GetLevel()
double GetWarningLevel()
virtual void SetErrorColor(COLORREF color)
virtual void SetErrorLevel(double errorLevel)
virtual void SetWarningColor(COLORREF color)
virtual void SetWarningLevel(double warningLevel)
virtual ~ LevelControl(void)
void SetLevel(double level)
void SetRange(double minValue, double maxValue)
double Level
COLORREF WarningColor
COLORREF ErrorColor
double WarningLevel
double ErrorLevel

LevelInfo
LevelInfo()
~ LevelInfo()

LevelState: It displays a level and a state
LevelState(void)
bool GetDisplayLevelValue()
bool GetLogScale()
double GetLevel()
int GetStateCount()
virtual ~ LevelState(void)
void SetDisplayLevelValue(bool displayLevelValue)
void SetLevel(double level)
void SetLogScale(bool logScale)
void SetState(int index, double minValue, double maxValue, COLORREF color, wchar_t* caption)
void SetStateCount(int count)
int StateCount
double Level
bool LogScale
bool DisplayLevelValue

ListBox: It displays a list of items that can be represented by text strings, bitmaps, or both
LPARAM GetItemData(int index)
It returns CB_ERR on error
LPARAM& SqlGetInt()
ListBox(void)
bool DeleteItem(int index)
bool GetItemText(int index, wchar_t* buffer, int buffer_length)
bool GetItemText(int index, wstring& out_text)
bool GetSelectedData(LPARAM& out_data)
bool IsEnabled()
bool IsItemSelected(int index)
bool IsVisible()
bool SetItemData(int index, const LPARAM data)
bool SetSelectedByData(LPARAM data)
bool SetSelectedIndex(int index)
bool SetSelection(int index, bool selected)
If index is -1, it will affect all items
int GetItemCount()
int GetSelectedIndex()
virtual ~ ListBox(void)
void AddItem(const wchar_t* text, LPARAM data)
void AddItem(const wstring& text, LPARAM data)
void DeleteAllItems()
void Enumerate(wchar_t* * data, int colCount, int rowIndex)
void SetColumnWidth(int columnWidth)
void SetEnabled(bool enabled)
void SetText(const wstring& text)
void SetVisible(bool visible)
void SqlUpdate(bool toGui)
wstring& GetText()
wstring Text
bool Visible
bool Enabled
int SelectedIndex

ListDlg: This class allows displaying a vector of strings in a dialog, the first row in the vector is displayed in the Window Title
ListDlg()
~ ListDlg()

ListImage
DWORD GetData()
ListImage(void)
int Delete()
int GetTextLength()
virtual ~ ListImage(void)
void GetText(wchar_t* text)
void GetText(wstring& text)
void SetData(DWORD data)
wstring GetText()
DWORD Data
wstring Text
int TextLength

ListImageCollection
ListImageCollection(void)
Win::ListImage& operator [ ](long index)
bool Add(COMBOBOXEXITEM cbei)
bool Add(int index, int indent, int image, int imageSelected, const wchar_t* text)
bool Add(int index, int indent, int image, int imageSelected, const wchar_t* text, LPARAM data)
bool Add(int index, int indent, int image, int imageSelected, const wstring& text)
bool Add(int index, int indent, int image, int imageSelected, const wstring& text, LPARAM data)
int GetCount()
int GetIndex(wchar_t* text)
virtual ~ ListImageCollection(void)
void DeleteAll()
int Count

ListItem
LPARAM GetData()
If error, it returns: LB_ERR or CB_ERR
ListItem(void)
int GetTextLength()
virtual ~ ListItem(void)
void GetText(wchar_t* text)
void SetData(LPARAM data)
wstring GetText()
LPARAM Data
wstring Text
int TextLength

ListItemCollection
LRESULT Add(const wchar_t* text)
LRESULT Add(const wchar_t* text, LPARAM data)
LRESULT Add(const wchar_t* text, int index, LPARAM data)
LRESULT Add(const wstring& text)
LRESULT Add(const wstring& text, LPARAM data)
LRESULT Add(const wstring& text, int index, LPARAM data)
ListItemCollection(void)
Win::ListItem& operator [ ](long index)
bool Delete(int index)
int GetCount()
int GetIndex(const wchar_t* text)
int GetIndex(const wstring& text)
virtual ~ ListItemCollection(void)
void DeleteAll()
int Count

ListView: A window that displays a collection of items; each item may consist of an icon and a label The Windows Explorer and the Windows Desktop are listview controls
BOOL GetHeaderText(int index, wchar_t* pszBuffer, int nBufferSize)
BOOL RedrawItems(int indexIni, int indexEnd)
BOOL Scroll()
BOOL Scroll(int deltaX, int deltaY)
HWND GetHeaderControl()
LRESULT AddItem(LVITEM& lvi)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT AddItem(const wchar_t* text, LPARAM data)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT AddItem(const wstring& text, LPARAM data)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT AddItem(int index, const wchar_t* text, int imageIndex, LPARAM data)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT AddItem(int index, const wstring& text, int imageIndex, LPARAM data)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT GetExtStyle()
LRESULT InsertGroup(int index, int groupId, LPWSTR text, UINT align)
In Group View, do not use: grid lines, align left (LVS_ALIGNLEFT) In Group View, the control does not need columns You need to call EnableGroupView for this API to work and have Windows XP styles enabled align: LVGA_HEADER_CENTER, LVGA_HEADER_LEFT, LVGA_HEADER_RIGHT
LRESULT InsertItemIntoGroup(int index, wchar_t* text, LPARAM userData, int groupId)
In Group View, do not use: grid lines, align left (LVS_ALIGNLEFT) In Group View, the control does not need columns
LRESULT InsertItemIntoGroup(int index, wchar_t* text, int groupId)
In Group View, do not use: grid lines, align left (LVS_ALIGNLEFT) In Group View, the control does not need columns
LRESULT InsertItemIntoGroup(int index, wchar_t* text, int imageIndex, LPARAM userData, int groupId)
In Group View, do not use: grid lines, align left (LVS_ALIGNLEFT) In Group View, the control does not need columns
LRESULT InsertItemIntoGroup(int index, wchar_t* text, int imageIndex, int groupId)
In Group View, do not use: grid lines, align left (LVS_ALIGNLEFT) In Group View, the control does not need columns
LRESULT SetBkColor_(COLORREF rgb)
LRESULT SetExtStyle(DWORD dwExMask, DWORD dwExStyle)
LRESULT SetImageList(HIMAGELIST hil, bool bSmall)
LRESULT SetImageList(Win::ImageList& imageList, bool bSmall)
LVDropInfo Drop(Win::Event& e, Win::ListView& listViewTarget)
Call this on Window_LButtonUp using the input list view, use return LVDropInfo
ListView(void)
UINT GetItemState(int row, UINT stateMask)
It returns the current state for the specified item stateMask: LVIS_CUT, LVIS_DROPHILITED, LVIS_FOCUSED, LVIS_SELECTED, LVIS_OVERLAYMASK, LVIS_STATEIMAGEMASK An item's state information includes a set of bit flags as well as image list indexes that indicate the item's state image and overlay image  Google Microsoft
Win::ListViewColumn& GetColumns()
bool CopyLatexToClipboard(bool isNumber)
bool CopyTo(bool includeItemData, Sys::IEnumerator& num)
bool CopyToClipboard()
bool DeleteColumn(int index)
bool DeleteItem(int row)
bool EnableGroupView(bool groupView)
In Group View, do not use: grid lines, align left (LVS_ALIGNLEFT) In Group View, the control does not need columns
bool ExportToMsExcel(const wchar_t* filename)
bool ExportToXml(bool includeItemData, Sys::Xml& output)
bool GetColumnFormat(int index, int& out_format)
bool GetColumnText(int index, wchar_t* buffer, int buffer_length)
bool GetColumnText(int index, wstring& out_text)
bool GetColumnWidth(int index, int& out_width)
bool GetItemData(int row, LPARAM& out_data)
bool GetItemText(int row, int column, wstring& out_text)
bool GetSelectedData(LPARAM& out_data)
bool GetSubItemRect(int itemIndex, int subItemIndex, RECT& output)
bool GetSubItemRect(int itemIndex, int subItemIndex, int flags, RECT& output)
flags: LVIR_BOUNDS, LVIR_ICON, LVIR_LABEL
bool ImportFromXml(bool firstColumnIsItemData, const Sys::Xml& input)
bool IsEnabled()
bool IsEvent(Win::Event& e, int notification)
bool IsItemChecked(int row)
On a checkbox list, it returns true when the checkbox is checked. The ItemChanged event is called when the user checks or unchecks the item
bool IsItemSelected(int row)
bool IsVisible()
bool SaveLatexToFile(const wchar_t* filename)
bool SaveToFile(HANDLE hFile, const char* colIni, const char* colEnd, const char* rowIni, const char* rowEnd, const char* headIni, const char* headEnd, bool includeHeader)
bool SaveToFile(HANDLE hFile, const wchar_t* colIni, const wchar_t* colEnd, const wchar_t* rowIni, const wchar_t* rowEnd, const wchar_t* headIni, const wchar_t* headEnd, bool includeHeader)
bool SaveToFile(const wchar_t* filename)
bool SaveToFile(const wchar_t* filename, const char* colIni, const char* colEnd, const char* rowIni, const char* rowEnd, const char* docIni, const char* docEnd)
bool SaveToFile(const wchar_t* filename, const wchar_t* colIni, const wchar_t* colEnd, const wchar_t* rowIni, const wchar_t* rowEnd, const wchar_t* docIni, const wchar_t* docEnd)
bool SaveToFileA(const wchar_t* filename)
bool SaveWebFile(const wchar_t* filename)
bool SetColumnFormat(int index, int format)
bool SetColumnText(int index, const wchar_t* text)
bool SetColumnText(int index, const wstring& text)
bool SetColumnWidth(int index, int width)
bool SetHeaderCustomDrawing(bool customDrawing)
bool SetItemCount(int count)
bool SetItemData(int row, const LPARAM data)
bool SetItemImage(int row, int imageIndex)
bool SetItemState(int row, UINT state, UINT stateMask)
It sets the current state for the specified item stateMask: LVIS_CUT, LVIS_DROPHILITED, LVIS_FOCUSED, LVIS_SELECTED, LVIS_OVERLAYMASK, LVIS_STATEIMAGEMASK  Google Microsoft
bool SetItemText(int row, int column, const wchar_t* text)
bool SetItemText(int row, int column, const wstring& text)
bool SetSelectedByData(LPARAM data)
bool SetSelectedIndex(int row)
bool SetSelection(int row, bool selected)
Selects or un-select the specified item (Indexes start at 0. Use row =-1 to affect all rows)
int GetColumnCount()
int GetElementCount(const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
int GetHitTestItemIndex(LVHITTESTINFO& hitTestInfo)
It returns the item index or -1
int GetItemCount()
int GetItemImage(int row)
int GetItemText(int row, int column, wchar_t* buffer, int buffer_length)
It returns the number of characters
int GetNextIndex(int index, DWORD flags)
Use this for multiple item selection
int GetNextSelectedIndex(int row)
The first time the function is called, row must -1. The next calls row must be set to the value returned on the previous function call. The function is called until it returns -1
int GetSelectedCount()
int GetSelectedIndex()
int GetView()
LV_VIEW_ICON, LV_VIEW_DETAILS, LV_VIEW_SMALLICON, LV_VIEW_LIST, LV_VIEW_TILE, LV_VIEW_MAX
virtual ~ ListView(void)
void AddColumn(int format, int width, const wchar_t* text)
format: LVCFMT_LEFT, LVCFMT_CENTER, LVCFMT_RIGHT
void AddColumn(int format, int width, const wstring& text)
format: LVCFMT_LEFT, LVCFMT_CENTER, LVCFMT_RIGHT
void BeginDrag(Win::Event& e)
Call this on listView_beginDrag
void Delete()
void DeleteAllColumns()
void DeleteAllItems()
void Drag(Win::Event& e, Win::ListView& listViewTarget)
Call this on Window_MouseMove using the input list view
void Enumerate(wchar_t* * data, int colCount, int rowIndex)
void ForceHeaderBackground(bool paintBackground)
It forces the drawing of the background of the header control in Windows 10 and later Call this function after inserting the columns of the control
void OnPrintElement(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, const Win::PrintElementInfo& pei)
void OnPrintPartBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
void OnPrintPartEnd(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
void Print()
void ReportError(bool error, wchar_t* description)
void SetEnabled(bool enabled)
void SetItemChecked(int row, bool checked)
On a checkbox list, it checks or unchecks the checkbox of the specied item. The ItemChanged event is called when the user checks or unchecks the item
void SetText(const wstring& text)
void SetView(int view)
LV_VIEW_ICON, LV_VIEW_DETAILS, LV_VIEW_SMALLICON, LV_VIEW_LIST, LV_VIEW_TILE, LV_VIEW_MAX
void SetVisible(bool visible)
wstring& GetText()
wstring Text
bool Visible
bool Enabled
int ItemCount
int SelectedIndex
int View
Win::ListViewColumn& Cols

ListViewColumn
ListViewColumn(void)
bool Add(LVCOLUMN& lvcolumn, int index)
format: LVCFMT_LEFT, LVCFMT_CENTER, LVCFMT_RIGHT
bool Add(int index, int format, int width, const wchar_t* text)
format: LVCFMT_LEFT, LVCFMT_CENTER, LVCFMT_RIGHT
bool Add(int index, int format, int width, const wstring& text)
format: LVCFMT_LEFT, LVCFMT_CENTER, LVCFMT_RIGHT
bool Delete(int index)
bool DeleteAll(void)
bool GetFormat(int index, int& out_format)
bool GetText(int index, wchar_t* buffer, int buffer_size)
bool GetWidth(int index, int& out_width)
bool Set(int index, LPLVCOLUMN pLvc)
bool SetFormat(int index, int format)
bool SetText(int index, const wchar_t* text)
bool SetWidth(int index, int width)
int GetCount()
virtual ~ ListViewColumn(void)

ListViewItem
LPARAM GetData()
LRESULT SetState(UINT state, UINT stateMask)
ListViewItem(void)
UINT GetState(UINT mask)
Win::ListViewSubItem& operator [ ](long index)
bool Delete()
bool GetBoundsRect(long index, RECT& output)
bool GetChecked()
bool GetIconRect(long index, RECT& output)
bool GetLabelRect(long index, RECT& output)
bool GetSelectBoundsRect(long index, RECT& output)
bool GetSelected()
bool SetText(int subItemIndex, const wchar_t* text)
int GetImageIndex()
int GetText(int subItemIndex, wchar_t* buffer, int bufferSize)
It returns the number of characters written to the buffer
virtual ~ ListViewItem(void)
void SetChecked(bool isChecked)
void SetData(LPARAM data)
void SetDropHiLited(bool on)
void SetImageIndex(int imageIndex)
void SetSelected(bool selected)
void SetText(const wstring& text)
void SetText(int subItemIndex, const wstring& text)
wstring GetText()
wstring GetText(int subItemIndex)
wstring Text
bool Checked
LPARAM Data
int ImageIndex
bool DropHiLited
bool Selected

ListViewItemCollection
BOOL Get(LVITEM& lvitem)
BOOL Set(LVITEM& lvitem)
LRESULT Add(LVITEM& lvi)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, const wchar_t* text)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, const wchar_t* text, LPARAM data)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, const wchar_t* text, int imageIndex, LPARAM data)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, const wchar_t* text, int imageIndex, LPARAM data, int group_id)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, const wstring& text)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, const wstring& text, LPARAM data)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, const wstring& text, int imageIndex, LPARAM data)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, const wstring& text, int imageIndex, LPARAM data, int group_id)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, int imageIndex, const wchar_t* text)
Inserts a new item in a list-view control. Use module::SetRedraw(false) before inserting a lot of items It returns the index of the new item if successful, or -1 otherwise.  Google Microsoft
LRESULT Add(int index, int imageIndex, const wstring& text)
LRESULT DeleteAll()
LRESULT DeleteItem(int index)
ListViewItemCollection(void)
Win::ListViewItem& operator [ ](long index)
int GetCount()
int GetIndex(const wchar_t* text)
virtual ~ ListViewItemCollection(void)
int Count

ListViewSubItem
ListViewSubItem(void)
int GetItemText(wchar_t* buffer, int buffer_length)
virtual ~ ListViewSubItem(void)
void SetText(const wstring& text)
wstring GetText()
wstring Text

Menu: It provides support to handle menus
BOOL AddItem(MENUITEMINFO& menuInfo)
BOOL AppendMenu_(HMENU hMenu, wchar_t* pszCaption)
BOOL AppendMenu_(Menu& menu, wchar_t* pszCaption)
BOOL DeleteItemByID(int nID)
BOOL DeleteItemByPosition(int nPosition)
HMENU GetHMENU()
HMENU GetSubHMENU_(int nPosition)
Menu GetSubMenu_(int nPosition)
Menu(void)
UINT GetItemID(int nPosition)
bool Create(HINSTANCE hInstance, const wchar_t* pszID)
bool Create(bool bPopUp)
bool IsItemChecked(int nID)
bool IsItemEnabled(int nID)
bool IsPopUp(void)
int GetItemCount(void)
int GetStringByID(UINT nID, wchar_t* pszCaption, int nMaxCount)
int GetStringByPosition(UINT nID, wchar_t* pszCaption, int nMaxCount)
operator HMENU()
virtual ~ Menu(void)
void AddItem(UINT nID, HBITMAP hBitmap, bool bEnabled)
void AddItem(UINT nID, wchar_t* pszCaption, bool bChecked, bool bEnabled)
void AddSeparator(void)
void Attach(HMENU hMenu, bool bPopUp)
void Attach(HWND hWnd, bool bPopUp)
Use this to attach a main menu with bPopUp set to false
void SetItemCheckByID(UINT nID, bool bChecked)
void SetItemCheckByPosition(int nPosition, bool bChecked)
void SetItemEnableByID(UINT nID, bool bEnabled)
void SetItemEnableByPosition(int nPosition, bool bEnabled)

Module: It represents the most basic graphic user interface component
# ifdef WIN_DAC_ADC_SUPPORT bool PlayWaveSound(const wchar_t* filename)
BOOL SetForeground()
int GetID();
BOOL SetMenu(HMENU hMenu)
DWORD SetCursorPos(int x, int y)
HDC GetDC()
HDC GetWindowDC()
HICON GetClassIcon(bool smallIcon)
HMENU GetMenu()
HWND GetDialogItem(HWND parent, int id)
HWND GetHWND()
HWND GetParent()
HWND SetFocus()
HWND SetMouseCapture()
It sets the mouse capture to the window during a dragging operation  Google Microsoft
LONG_PTR GetLongPtr(int flags)
LRESULT PostMessage(UINT message, WPARAM wParam, LPARAM lParam)
It places (posts) a message in the message queue associated with the thread that created window and returns without waiting for the thread to process the message..  Google Microsoft
LRESULT SendMessage(UINT message, WPARAM wParam, LPARAM lParam)
It Sends the specified message to the window. The SendMessage function calls the window procedure for the window and does not return until the window procedure has processed the message.  Google Microsoft
LRESULT SetRedraw(bool redraw)
An application sends the WM_SETREDRAW message to a window to allow changes in that window to be redrawn or to prevent changes in that window from being redrawn. Use: SetRedraw(false), ... SetRedraw(true), Redraw()  Google Microsoft
WNDPROC SetProc(WNDPROC wndProc)
Subclassing an existing window, see SetWindowSubclass
bool CopyWindowToClipboard(bool clientEdge)
bool GetScrollRangeH(int& out_minimum, int& out_maximum)
bool GetScrollRangeV(int& out_minimum, int& out_maximum)
bool GetTextExtent(const wchar_t* text, CG::Font& font, SIZE& out_size)
It returns the size of the text string in the Window Device using the specified font
bool Move(RECT& rect, bool repaint)
You can call this function from a Window_Size event (WM_SIZE)
bool Move(int x, int y, bool repaint)
You can call this function from a Window_Size event (WM_SIZE)
bool Move(int x, int y, int width, int height, bool repaint)
You can call this function from a Window_Size event (WM_SIZE)
bool MoveToFill(Win::Event& e)
You can call this function from a Window_Size event (WM_SIZE)
bool PlayWaveSound(HINSTANCE hInstance, int resource_id)
bool ReleaseMouseCapture()
It releases the mouse capture from a window in the current thread and restores normal mouse input processing. A window that has captured the mouse receives all mouse input, regardless of the position of the cursor, except when a mouse button is clicked while the cursor hot spot is in the window of another thread.  Google Microsoft
bool SetWindowSubClass(SUBCLASSPROC subclassProc, UINT_PTR idSubclass, DWORD_PTR refData)
Subclassing an existing window  Google Microsoft
int GetHeight()
int GetID()
int GetPositionX()
int GetPositionY()
int GetRegisteredClassName(wchar_t* buffer, int buffer_size)
It retrieves the name of the class to which the specified window belongs If the function succeeds, the return value is the number of characters copied to the buffer, not including the terminating null character. If the function fails, the return value is zero  Google Microsoft
int GetScrollPositionH()
int GetScrollPositionV()
int GetScrollShiftH(Win::Event& wm_HscrollEvent, SCROLLINFO& out_si)
Call this function during Window_HScroll, the functions returns the scroll shift and scroll information
int GetScrollShiftV(Win::Event& wm_VscrollEvent, SCROLLINFO& out_si)
Call this function during Window_VScroll, the functions returns the scroll shift and scroll information
int GetWidth()
int MessageBox(const wchar_t* text, const wchar_t* caption, UINT type)
type is the OR of a button constant: MB_OK, MB_OKCANCEL, MB_ABORTRETRYIGNORE, MB_YESNOCANCEL, MB_YESNO MB_RETRYCANCEL, MB_CANCELTRYCONTINUE and an icon constant: MB_ICONHAND, MB_ICONQUESTION , MB_ICONEXCLAMATION, MB_ICONASTERISK, MB_ICONHAND MB_ICONQUESTION, MB_ICONEXCLAMATION, MB_ICONASTERISK It returns: IDOK, IDCANCEL, IDABORT, IDRETRY, IDIGNORE, IDYES, IDNO, IDCLOSE, IDHELP, IDTRYAGAIN, IDCONTINUE
int MessageBox(const wstring& text, const wstring& caption, UINT type)
type is the OR of a button constant: MB_OK, MB_OKCANCEL, MB_ABORTRETRYIGNORE, MB_YESNOCANCEL, MB_YESNO MB_RETRYCANCEL, MB_CANCELTRYCONTINUE and an icon constant: MB_ICONHAND, MB_ICONQUESTION , MB_ICONEXCLAMATION, MB_ICONASTERISK, MB_ICONHAND MB_ICONQUESTION, MB_ICONEXCLAMATION, MB_ICONASTERISK It returns: IDOK, IDCANCEL, IDABORT, IDRETRY, IDIGNORE, IDYES, IDNO, IDCLOSE, IDHELP, IDTRYAGAIN, IDCONTINUE
int Scroll(int deltaX, int deltaY)
int Scroll(int deltaX, int deltaY, LPRECT prcUpdate)
int SetScrollInfoH(SCROLLINFO& si)
int SetScrollInfoH(int minimum, int maximum, int position)
int SetScrollInfoV(SCROLLINFO& si)
int SetScrollInfoV(int minimum, int maximum, int position)
int SetScrollInfoV(int minimum, int maximum, int position, int page)
int SetScrollPositionH(int position)
int SetScrollPositionV(int position)
int SetScrollRangeH(int minimum, int maximum)
int SetScrollRangeV(int minimum, int maximum)
operator HWND()
static HINSTANCE GetInstance()
static bool GetDropFileList(HDROP hDrop, vector<wstring >& out_filelist)
You can call this function from Window_DropFiles or from the Clipboard with CF_HDROP
virtual HFONT GetFont()
It retrieves the font with which the control is currently drawing its text. The return value is a handle to the font used by the control, or nullptr if the control is using the system font.  Google Microsoft
virtual HWND Create(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, int pixelsX, int pixelsY, int pixelsWidth, int pixelsHeight, HWND hParent, int id)
virtual HWND CreateX(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, double cmX, double cmY, double cmWidth, double cmHeight, HWND hParent, int id)
virtual bool IsEnabled()
virtual bool IsEvent(Win::Event& e, int notification)
virtual bool IsVisible()
virtual int GetTextLength()
virtual int GetWindowText(wchar_t* text, int size)
Copies the text of the specified window's title bar (if it has one) into a buffer. If the specified window is a control, the text of the control is copied. However, GetWindowText cannot retrieve the text of a control in another application. If the function succeeds, the return value is the length, in characters, of the copied string, not including the terminating null character  Google Microsoft
virtual int GetWindowText(wstring& out_text)
virtual void SetEnabled(bool enabled)
virtual void SetFont(HFONT hfont)
virtual void SetFont(Win::Gdi::Font& font)
virtual void SetText(const wstring& text)
virtual void SetVisible(bool visible)
virtual void SetWindowText(const wchar_t* text)
virtual void UpdateValue()
virtual wstring& GetText()
virtual ~ Module(void)
void AlwaysOnTop(bool onTop)
void ClientToScreen(POINT& pt)
void Close()
void Destroy()
void DoDock(int initialWidth, int initialHeight, int newWidth, int newHeight)
void EnableCloseButton(bool enabled)
void EnableMoveButton(bool enabled)
void EnableSizeButton(bool enabled)
void GetCaretPosition(POINT& out_position)
It returns the position of the caret (typing cursor)  Google Microsoft
void GetClientRect(RECT& rc)
void GetDock(int& left, int& top, int& right, int& bottom)
void GetInitialRect(RECT& initialRect)
void GetRect(RECT& rc)
void GetRelativeRect(HWND parent, RECT& rc)
void GetRect(RECT& rc);
void GetTextExtent(const wchar_t* text, SIZE& output)
It computes the width and height of the specified string of text. Google Microsoft
void GetWindowRect(RECT& rc)
void LockUpdate(bool locked)
The LockWindowUpdate function disables or enables drawing in the specified window. The purpose of the LockWindowUpdate function is to permit drag/drop feedback to be drawn over a window without interference from the window itself.The intent is that the window is locked when feedback is drawn and unlocked when feedback is complete.LockWindowUpdate is not intended for general-purpose suppression of window redraw. Only one window can be locked at a time.  Google Microsoft
void Maximize()
void Minimize()
void Redraw()
It updates the specified rectangle or region in a windows client area  Google Microsoft
void Redraw(const RECT* rcUpdate, HRGN hrgnUpdate, UINT flags)
It updates the specified rectangle or region in a windows client area  Google Microsoft
void RefreshMenu()
void ReleaseDC(HDC hdc)
void Repaint(RECT* rc, bool erase)
void ScreenToClient(POINT& pt)
void SetClassBackground(HBRUSH hbrush)
void SetClassCursor(HCURSOR hcursor)
void SetClassIcon(HICON hicon)
void SetClassIcon(int id_icon)
void SetDock(int left, int top, int right, int bottom)
void SetHWND(HWND hWnd)
void SetHeight(int height)
void SetIcon(HINSTANCE hInstance, int icon_id)
void SetPosition(int x, int y)
void SetPositionX(int x)
void SetPositionY(int y)
void SetRect(RECT& rc)
void SetWidth(int width)
void SetWindowPosition(int x, int y, int width, int height, HWND insertAfter, unsigned int flags)
It changes the size, position, and Z order of a child, pop-up, or top-level window. These windows are ordered according to their appearance on the screen. The topmost window receives the highest rank and is the first window in the Z order insertAfter: HWND_BOTTOM (places the window at the bottom of the Z order), HWND_NOTOPMOST, HWND_TOP (places the window at the top of the Z order), HWND_TOPMOST  Google Microsoft
void Show(int cmdShow)
SW_HIDE SW_SHOWNORMAL SW_NORMAL SW_SHOWMINIMIZED SW_SHOWMAXIMIZED SW_MAXIMIZE SW_SHOWNOACTIVATE SW_SHOW SW_MINIMIZE SW_SHOWMINNOACTIVE SW_SHOWNA SW_RESTORE SW_SHOWDEFAULT SW_FORCEMINIMIZE SW_MAX
void Update()
wstring Text
bool Visible
bool Enabled
Win::Gdi::Font& Font
int PositionX
int PositionY
int Width
int Height
int ScrollPositionH
int ScrollPositionV

Monitor: It displays the history of a variable with time
COLORREF GetLineColor1()
Monitor(void)
virtual void SetLineColor1(COLORREF color)
virtual ~ Monitor(void)
void AddValue(double value)
void Clear()
void SetAll(double value)
void SetRange(double minimum, double maximum)
void SetResolution(int resolution)
void SetSquareSize(int size)
COLORREF LineColor1

Monitor3: It displays the history of several variables with time
COLORREF GetVariableColor(int variableIndex)
It returns the color of the variable. variableIndex is in the range from 0 to numVariables-1.
Monitor3(void)
bool AddValue(double* values)
It adds a value for each variable double value[2]; value[0] = 1.0; value[1] = 2.0;
bool SetAll(double* values)
bool SetLineColor(int variableIndex, COLORREF color)
It sets the color of the variable. variableIndex is in the range from 0 to numVariables-1.
bool SetNumbVariables(int numVariables)
bool SetResolution(int numPixels)
int GetNumbVariables()
int GetResolution()
int GetSquareSize()
virtual ~ Monitor3(void)
void Clear()
void Delete()
void SetRange(double minimum, double maximum)
void SetSquareSize(int size)
int NumbVariables
int SquareSize
int Resolution

MultipartDocument: It provides support to create a document that can be sent to the printer Any object that implements the Win::IPrint interface can be inserted in a PrintDoc and form part of the document
MultipartDocument(void)
bool OnPrintPage(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
int GetPageCount(const Win::PrintDocInfo& pdi)
virtual ~ MultipartDocument(void)
void AddPart(int element_height_millicm, Win::IPrintElement& printElement)
void Create()
void OnPrintDocBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
void OnPrintDocEnd(CG::Gdi& gdi)
void SetFooter(int height_millicm, Win::IPrintElement& printElementFooter)

Pie
COLORREF GetColor()
Pie()
bool operator <(const Win::Pie& pie)const
double GetValue()
virtual void SetColor(COLORREF color)
virtual void SetText(wstring text)
virtual void SetValue(double value)
wstring GetText()
~ Pie()
COLORREF Color
double Value
wstring Text

PieChart: A classic pie chart
PieChart(void)
Win::PieCollection& GetPies()
virtual ~ PieChart(void)
void OnPaintControl(CG::IGdi& gdi)
void Refresh()
void SetCaptionFormat(const wchar_t* format)
void SetPieColor(int index, COLORREF color)
void SetPieText(int index, const wchar_t* text)
void SetPieText(int index, const wstring& text)
void SetPieValue(int index, double value)
Win::PieCollection& Pies

PieCollection
PieCollection()
Win::Pie& operator [ ](long index)
int GetCount()
void Add(const wstring& text, COLORREF color, double value)
void DeleteAll()
~ PieCollection()
int Count

PolarChart: It displays one or more polar graphs. It works together with the Win::Graph class. The value of X in the graph represents the angle in radians The value of Y in the graph represents the radius
COLORREF GetSubgridColor()
PolarChart(void)
bool GetShowSubgrid()
bool Load(const wchar_t* filename)
bool Save(const wchar_t* filename)
bool SetRadiusDivisionCount(int count)
int GetRadioDivisionCount()
virtual void OnPaintScaleR(CG::IGdi& gdi, POINT center, double value)
You can overwrite this function to change the Radius scale
virtual ~ PolarChart(void)
void AutoScaleMaximumRadius()
void AutoScaleMinimumRadius()
void ChooseSave(const wchar_t* workingFolder)
void OnPaintControl(CG::IGdi& gdi)
void Refresh()
void SetRadius(double minimum, double maximum)
void SetShowSubgrid(bool showSubgrid)
void SetSubgridColor(COLORREF color)
int RadioDivisionCount
COLORREF SubgridColor
bool ShowSubgrid

PrintConnector
PrintConnector()
bool Print(HWND hWndParent, const wchar_t* documentName, Win::IPrintDoc& printDoc)
void Delete()
~ PrintConnector()

PrintDocInfo
PrintDocInfo()
~ PrintDocInfo()

PrintElementInfo
PrintElementInfo()
~ PrintElementInfo()

PrintPart: This class stores a print part and it is used by Win::MultipartDocument
PrintPart()
~ PrintPart()

PrintPreview: It provides print preview to any object that is derived from Win::PrintConnector
PrintPreview()
int GetCurrentPage(void)
virtual ~ PrintPreview()
void SetCurrentPage(int pageNumber)
void SetDoc(PrintConnector& printConnector)

PrintSeparator
PrintSeparator()
int GetElementCount(const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
void OnPrintElement(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, const Win::PrintElementInfo& pei)
void OnPrintPartBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
void OnPrintPartEnd(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
~ PrintSeparator()

ProgressBar: It can be used to display the progress of a lengthy operation
COLORREF GetBarColor()
COLORREF SetBarColor(COLORREF color)
ProgressBar()
int GetPosition()
Retrieves the current position of the progress bar.  Google Microsoft
int SetPosition(int position)
Sets the current position for a progress bar and redraws the bar to reflect the new position. It returns the previous position.  Google Microsoft
int SetRange(int minimum, int maximum)
Sets the minimum and maximum values for a progress bar to 32-bit values, and redraws the bar to reflect the new range.  Google Microsoft
int SetStep(int stepSize)
Specifies the step increment for a progress bar. The step increment is the amount by which the progress bar increases its current position whenever it receives a PBM_STEPIT message. By default, the step increment is set to 10.  Google Microsoft
int StepIt()
Advances the current position for a progress bar by the step increment and redraws the bar to reflect the new position. Returns the previous position. When the position exceeds the maximum range value, it resets the current position so that the progress indicator starts over again from the beginning.  Google Microsoft
virtual ~ ProgressBar()
void OnPaintControl(CG::IGdi& gdi)
void SetMarquee(bool on, int milliseconds)
Sets the progress bar to marquee mode. This causes the progress bar to move like a marquee
void SetVertical(bool isVertical)
int Position

Rebar: It is a containers fo child windows (GUI elements). It contains one or more bands, and each band can have any combination of a gripper bar, a bitmap, a text label, and a child window. However, bands cannot contain more than one child window. A band in a rebar typically have a toolbar
BOOL GetBandInfo(UINT index, LPREBARBANDINFO p)
BOOL InsertBand(LPREBARBANDINFO rbBand)
BOOL InsertBand(int index, LPREBARBANDINFO rbBand)
BOOL SetBandInfo(UINT index, LPREBARBANDINFO p)
BOOL SetBarInfo(HIMAGELIST hImageList)
Rebar(void)
UINT GetBandCount()
UINT GetBarHeight()
virtual ~ Rebar(void)

RichEdit: It allows displaying and editing rich format text (text with different color, sizes, ets.) To use this control please uncomment the #define WIN_RICHEDIT_SUPPORT line in the file stdafx.h
BOOL Print(HWND hWndParent, const wchar_t* documentName)
CHARRANGE FindText(int charStart, int charEnd, wchar_t* stringToFind, bool matchCase, bool wholeWords, bool backwards)
LRESULT GetCharFormat(CHARFORMAT2& cf, WPARAM scf)
scf: SCF_SELECTION, SCF_DEFAULT It returns the value of the dwMask member of the CHARFORMAT structure.
LRESULT GetEventMask()
ENM_CHANGE, ENM_CORRECTTEXT, ENM_DRAGDROPDONE, ENM_DROPFILES ENM_KEYEVENTS, ENM_LINK, ENM_MOUSEEVENTS, ENM_OBJECTPOSITIONS ENM_PROTECTED, ENM_REQUESTRESIZE, ENM_SCROLL, ENM_SCROLLEVENTS ENM_SELCHANGE
LRESULT GetParaFormat(PARAFORMAT2& pf)
LRESULT GetSelectionType()
LRESULT SelectLine(int lineIndex)
SCF_ALL, SCF_SELECTION, SCF_WORD
LRESULT SetBkGndColor(COLORREF color)
LRESULT SetBold(bool bBold, WPARAM scf)
LRESULT SetEventMask(LPARAM eventMask)
ENM_CHANGE, ENM_CORRECTTEXT, ENM_DRAGDROPDONE, ENM_DROPFILES ENM_KEYEVENTS, ENM_LINK, ENM_MOUSEEVENTS, ENM_OBJECTPOSITIONS ENM_PROTECTED, ENM_REQUESTRESIZE, ENM_SCROLL, ENM_SCROLLEVENTS ENM_SELCHANGE
LRESULT SetFont(const wchar_t* fontFamily, int fontSize, WPARAM scf)
LRESULT SetFontFamily(const wchar_t* fontFamily, WPARAM scf)
LRESULT SetFontSize(int fontSize, WPARAM scf)
fontSize, in twips (1/1440 of an inch or 1/20 of a printer's point). scf: SCF_ALL, SCF_SELECTION, SCF_WORD
LRESULT SetItalic(bool bItalic, WPARAM scf)
LRESULT SetNumbering(bool bullets)
LRESULT SetParaAligment(WORD aligment)
LRESULT SetParaFormat(PARAFORMAT& pf)
LRESULT SetParaFormat(PARAFORMAT2& pf)
LRESULT SetSelection(CHARRANGE& crSelection)
The return value is the selection that is actually set
LRESULT SetSelection(int charStart, int charEnd)
The return value is the selection that is actually set
LRESULT SetTextColor(COLORREF rgb, WPARAM scf)
LRESULT SetUnderline(bool bUnderline, WPARAM scf)
RichEdit(void)
bool AppendText(const wchar_t* text)
bool AppendText(const wchar_t* text, CHARFORMAT2& cf)
bool AppendText(const wchar_t* text, COLORREF color)
bool AppendText(const wchar_t* text, const wchar_t* fontFamily, int fontSize)
bool AppendText(const wchar_t* text, const wchar_t* fontFamily, int fontSize, COLORREF color)
bool AppendText(const wstring& text)
bool AppendText(const wstring& text, CHARFORMAT2& cf)
bool AppendText(const wstring& text, COLORREF color)
bool AppendText(const wstring& text, const wchar_t* fontFamily, int fontSize)
bool AppendText(const wstring& text, const wchar_t* fontFamily, int fontSize, COLORREF color)
bool CanPaste()
bool CanRedo()
bool CanUndo()
bool GetLineText(int lineIndex, wchar_t* buffer)
bool GetLineText(int lineIndex, wchar_t* buffer, int bufferLength)
bool GetReadOnly()
bool IsEvent(Win::Event& e, int notification)
bool SaveToRtf(const wchar_t* filename)
bool SetAutoUrlDetect(bool autoDetect)
bool SetCharFormat(CHARFORMAT2& cf, WPARAM scf)
scf: SCF_ALL, SCF_SELECTION, SCF_WORD, 0 for DEFAULT FORMAT
bool SetCharFormat(int charStart, int charEnd, bool isBold, COLORREF color)
bool SetCharFormat(int charStart, int charEnd, bool isBold, COLORREF color, const wchar_t* fontFamily, int fontSize)
bool SetProtectedCharFormat(int charStart, int charEnd, bool isBold, COLORREF color, const wchar_t* fontFamily, int fontSize)
bool SetTextColor(int charStart, int charEnd, COLORREF color)
bool SetZoom(int numerator, int denominator)
int GetCharIndex(int lineIndex)
int GetLineCount()
int GetLineFromChar(int charIndex)
int GetLineLength(int lineIndex)
int GetLineLengthFromChar(int charIndex)
int GetLineText(int lineIndex, wstring& out_text)
int GetSelectedText(wchar_t* buffer)
int GetSelectedText(wstring& selectedText)
int GetText(CHARRANGE& cr, wchar_t* buffer)
int GetText(int charStart, int cpMax, wchar_t* buffer)
int GetTextLength(bool includeLineBreaks)
int GetWindowText(bool includeLineBreaks, wstring& out_text)
virtual bool Redo()
virtual bool Undo()
virtual void ClearSelection()
virtual void CopyToClipboard()
virtual void CutSelection()
virtual void PasteFromClipboard()
virtual ~ RichEdit(void)
void Delete()
void GetData(string& output)
void GetSelection(CHARRANGE& crSelection)
void GetSelection(int& charStart, int& charEnd)
void ReplaceSelection(const wchar_t* replaceWithThis, bool canBeUndone)
void SetReadOnly(bool readOnly)
void SetScrollPosition(const POINT* point)
void ShowSelection(bool show)
bool ReadOnly

Scintilla
Scintilla()
bool CanPaste()
bool CanRedo()
bool CanUndo()
bool GetAutoCompletionIgnoreCase()
bool GetReadOnly()
bool IsAutoCompletionActive()
bool IsEvent(Win::Event& e, int notification)
bool IsModified()
bool IsSelectionEmpty()
bool IsTipActive()
int AutoCompletionGetCurrent()
int AutoCompletionPositionStart()
int GetAutoCompletionMaxHeight()
int GetAutoCompletionMaxWidth()
int GetCurrentLine(char* text)
int GetCurrentLineNumber()
int GetCurrentPosition()
int GetElementCount(const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
int GetLineCount()
int GetLineEndPosition(int line)
int GetMarginType(int marginIndex)
int GetMarginWidth(int marginIndex)
int GetSelectionEnd()
int GetSelectionEndLine()
int GetSelectionStart()
int GetSelectionStartLine()
int GetStyleSize(int styleNumber)
int GetTextLength()
int LineFromPosition(int position)
int LineLength(int line)
int PositionFromLine(int line)
int TextWidth(int styleNumber, const char* text)
void AddText(int length, const wchar_t* text)
void AutoCompletionCancel()
void AutoCompletionComplete()
void AutoCompletionSelect(const char* chars)
void AutoCompletionShow(int lenEntered, const char* list)
void AutoCompletionStop(const char* chars)
void BeginUndoAction()
void Cancel()
void Clear()
void ClearAll()
void CommentOut()
void Copy()
void Cut()
void EmptyUndoBuffer()
void EndUndoAction()
void GetCurrentLine(wstring& text)
void GetLine(int line, char* text)
void GetLine(int line, string& text)
void GetLine(int line, wstring& text)
void GetSelectedText(wstring& text)
void GetStyleFont(int styleNumber, char* buffer)
void GetText(int length, char* text)
void GetText(wstring& text)
void GetTextRange(int posStart, int posEnd, wstring& text)
void GoToLine(int line)
void GoToPosition(int position)
void New()
void OnPrintElement(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, const Win::PrintElementInfo& pei)
void OnPrintPartBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
void OnPrintPartEnd(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
void Paste()
void Redo()
void Replace(const wchar_t* originalText, const wchar_t* newText)
void ReplaceSelection(const char* text)
void SelectAll()
void SelectLine(int line)
void SetAutoCompletionIgnoreCase(bool ignoreCase)
void SetAutoCompletionMaxHeight(int height)
void SetAutoCompletionMaxWidth(int width)
void SetCurrentPostion(int position)
void SetKeyWords(int keyWordSet, const char* keyWordList)
void SetLexer(int sclex)
void SetMarginType(int marginIndex, int type)
void SetMarginWidth(int marginIndex, int widthPixels)
void SetReadOnly(bool readOnly)
void SetSavePoint()
void SetSelectionEnd(int position)
void SetSelectionStart(int position)
void SetStyle(int styleNumber, COLORREF fore, COLORREF back, int sizeInPoints, const char* fontName)
void SetStyleBack(int styleNumber, COLORREF color)
void SetStyleFont(int styleNumber, const char* fontName)
void SetStyleFore(int styleNumber, COLORREF color)
void SetStyleSize(int styleNumber, int sizeInPoints)
void SetText(const wchar_t* text)
void SetTipBackColor(COLORREF color)
void SetTipForeHltColor(COLORREF color)
void SetTipHighlight(int highlightStart, int highlightEnd)
void SetTipPosition(bool above)
void SetTipTextColor(COLORREF color)
void SetTipUseStyle(int tabsize)
void SetUndoCollection(bool collectInformation)
void StyleClearAll()
void TipCancel()
void TipShow(int position, const char* tip)
void Uncomment()
void Undo()
~ Scintilla()
bool ReadOnly

ScrollBar: It scroll a data object in the client area to bring into view the portions of the object that extend beyond the borders of the window
ScrollBar()
bool IsEvent(Win::Event& e, int notification)
int GetNewPosition(Win::Event& e)
int GetPage(int& page)
int GetPosition(int& nPos)
int GetRange(int& nMin, int& nMax)
int GetScrollInfo(LPSCROLLINFO lpsi)
int GetTrackPosition(int& nPos)
int SetPage(int page)
int SetPosition(int nPos)
int SetRange(int nMin, int nMax)
int SetScrollInfo(LPCSCROLLINFO lpsi, BOOL fRedraw)
~ ScrollBar()

ScrollBase: Abstract class that provides basic functionability to build a scrolling window
COLORREF GetBackColor()
COLORREF GetLineColor()
COLORREF GetSelectionColor()
COLORREF GetTextColor()
HFONT GetHFont()
ScrollBase()
bool GetBorderSelection()
bool GetHideSelection()
bool GetLogfont(LOGFONT& output)
bool GetShowGrid()
bool HasFocus()
bool IsEvent(Win::Event& e, int notification)
bool SaveEmfImage(const wchar_t* filename)
int GetFontHeight()
int GetMaxTextWidth(const vector<wstring>text)
It returns the maximum width of the text
virtual bool GetSelectionRect(RECT& out_rect)= 0
virtual bool IsSelectionVisible() = 0
virtual void OnCopy()
virtual void OnCut()
virtual void OnDelete()
virtual void OnPaste()
virtual void OnRedo()
virtual void OnUndo()
virtual void RemoveSelection() = 0
virtual void RepaintSelectedItem() = 0
virtual void SetBackColor(COLORREF color)
virtual void SetFont(Win::Gdi::Font& font)
virtual void SetLineColor(COLORREF color)
virtual void SetSelectionColor(COLORREF color)
virtual void SetTextColor(COLORREF color)
virtual void ShowSelection() = 0
It scrolls the control to make the selection visible
virtual ~ ScrollBase()
void CopyToClipboard()
void GetTextSize(const wchar_t* text, SIZE& output)
It returns the width and the height of the text  Google Microsoft
void RefreshAll()
void SetBorderSelection(bool displayOnlyBorder)
void SetHideSelection(bool hideSelection)
void SetShowGrid(bool showGrid)
COLORREF BackColor
COLORREF TextColor
COLORREF LineColor
COLORREF SelectionColor
bool ShowGrid
bool BorderSelection
bool HideSelection
Win::Gdi::Font& Font

ScrollControl: It provides functionability to scroll a window or build a table
COLORREF GetHdrBackColor()
ScrollControl(void)
bool GetHasHeader()
bool GetItemRect(int rowIndex, int colIndex, RECT& out_rect)
bool GetSelectFullRow()
bool GetSelectionRect(RECT& out_rect)
bool GetShowHorizontalGrid()
bool GetShowVerticalGrid()
bool IsSelectionVisible()
bool SetSelectedCol(int colIndex)
bool SetSelectedRow(int rowIndex)
int GetColumnCount()
int GetColumnWidth()
int GetRowCount()
int GetRowHeight()
int GetSelectedCol()
if the value is negative, the full row is selected and the column index begins at -1
int GetSelectedRow()
virtual void ScrollPaint(int paintEvent, CG::Gdi& gdi, const RECT& cell, int rowIndex, int colIndex, bool isSelected)
paintEvent: WNT_PAINTCELLSBEGIN, WNT_PAINTCELL, WNT_PAINTCELLSEND
virtual void SetHdrBackColor(COLORREF color)
virtual ~ ScrollControl(void)
void GetAbsoluteClickInfo(LPARAM lParam, int& out_row, int& out_col, RECT& out_cell)
void GetClickInfo(LPARAM lParam, int& out_rowIndex, int& out_colIndex, RECT& out_cell)
void GetPageInfoH(int& out_colIndex1, int& out_colIndex2)
void GetPageInfoV(int& out_rowIndex1, int& out_rowIndex2)
void GetPaintInfo(const RECT& rcPaint, int& out_posX, int& out_posY, int& out_row1, int& out_row2, int& out_col1, int& out_col2)
void RemoveSelection()
void RepaintHeader()
void RepaintItem(int rowIndex, int colIndex)
void RepaintSelectedItem()
void ResetPosition()
void SetColumnCount(int columnCount)
void SetColumnWidth(int columnWidth)
void SetHasHeader(bool hasHeader)
void SetRowCount(int rowCount)
void SetRowHeight(int rowHeight)
void SetSelectFullRow(bool selectFullRow)
void SetSelectedCell(int rowIndex, int colIndex)
void SetShowHorizontalGrid(bool showGrid)
void SetShowVerticalGrid(bool showGrid)
void ShowSelection()
It scrolls the control to make the selection visible
COLORREF HdrBackColor
int RowHeight
int ColumnWidth
int RowCount
int ColumnCount
int SelectedCol
int SelectedRow
bool SelectFullRow
bool ShowVerticalGrid
bool ShowHorizontalGrid
bool HasHeader

ScrollText: A control to display multiple rows that are wider than the control width You must derive a new class from ScrollText implementing the function PaintRow and GetRowHeight You must call SetRowCount and SetPixelsColumnWidth to setup the control
ScrollText(void)
bool GetItemRect(int rowIndex, RECT& out_rect)
bool GetSelectionRect(RECT& out_rect)
bool IsSelectionVisible()
bool SetSelectedRow(int rowIndex)
bool SetSelectedRows(int rowIndex1, int rowIndex2)
It selects the rows from rowIndex1 to rowIndex2 including rowIndex2
int GetPixelsColumnWidth()
int GetRowCount()
int GetSelectedRow()
int MapMouseX(const LPARAM in_MouseLParam)
It returns the coordinate x of the mouse taking into consideration the horizontal scrollbar
virtual int GetRowHeight()
It is possible to override this method to change the height of the row
virtual void PaintRow(int paintEvent, CG::Gdi& gdi, int x, int y, int rowIndex, bool isSelected)
paintEvent: WNT_PAINTCELLSBEGIN, WNT_PAINTCELL, WNT_PAINTCELLSEND
virtual ~ ScrollText(void)
void GetSelectedRows(int& out_rowIndex1, int& out_rowIndex2)const
It returns the index of the fist selected row and the index of the last selected row The returned indexes are -1, if there is no selection
void RemoveSelection()
void RepaintRow(int rowIndex)
void RepaintSelectedItem()
void SetPixelsColumnWidth(int pixelsWidth)
void SetRowCount(int rowCount)
void ShowSelection()
It scrolls the control to make the selection visible
void UpdateHScrollInfo()
void UpdateScrollInfo()
void UpdateVScrollInfo()
int PixelsColumnWidth
int RowCount
int SelectedRow

SelectionPoint
SelectionPoint()
bool operator !=(const Win::SelectionPoint& selectionPoint)
bool operator ==(const Win::SelectionPoint& selectionPoint)
~ SelectionPoint()

SerialPort: Provides multithread support to handle the serial port.
BOOL InitializeDcbDlg(const wchar_t* lpszName, HWND hWnd, DCB& dcb)
SerialPort(void)
Win::SerialPort::Status Peek(void* buffer, unsigned int count)
Win::SerialPort::Status readBuffer(char* buffer, unsigned int count)
Win::SerialPort::Status readByte(BYTE& byte)
Win::SerialPort::Status writeBuffer(char* buffer, unsigned int count)
Win::SerialPort::Status writeByte(BYTE byte)
bool IsEvent(Win::Event& e, int notification)
bool Open(wchar_t* portName, DCB& dcb)
void Break(long milliseconds)
void Close()
void InitializeDcbDefaults(DCB& dcb)
~ SerialPort(void)

SignalView: It display signals from the DAC or the ADC
COLORREF GetCh1Color()
COLORREF GetCh2Color()
SignalView()
bool IsEvent(Win::Event& e, int notification)
virtual void SetCh1Color(COLORREF color)
virtual void SetCh2Color(COLORREF color)
virtual ~ SignalView()
void RefreshFromADC(WAVEHDR* waveHdr, unsigned int numbChannels, unsigned int bitsResolution)
Call this function to update the signals on the control
void RefreshFromDAC(WAVEHDR* waveHdr, unsigned int numbChannels, unsigned int bitsResolution)
Call this function to update the signals on the control
void SetToZero(void)
COLORREF Ch1Color
COLORREF Ch2Color

SimulationView: It provides support for creating visual simulations
COLORREF GetBackColor()
COLORREF GetTextColor()
SimulationView(void)
bool IsEvent(Win::Event& e, int notification)
virtual void SetBackColor(COLORREF color)
virtual void SetFont(Win::Gdi::Font& font)
virtual void SetTextColor(COLORREF color)
virtual ~ SimulationView(void)
void Start(int refreshTime)
void Stop()
COLORREF BackColor
COLORREF TextColor
Win::Gdi::Font& Font

Slider: When the user moves the slider, using either the mouse or the direction keys, the control fires events to indicate the change
Slider(void)
bool GetPosition(int& out_position)
bool IsEvent(Win::Event& e, int notification)
int GetMaximumPosition()
int GetMinimumPosition()
int GetPosition()
int HasPositionChanged()
If the position has NOT changed, it returns -1. If the position has changed, the function returns the new position Use this function when performance is important. Call this function from: sld_Hscroll() or sld_Vscroll()
virtual ~ Slider(void)
void SetMaximumPosition(int position)
void SetMinimumPosition(int position)
void SetPosition(int position)
void SetRange(int minimum, int maximum)
int Position
int MinimumPosition
int MaximumPosition

Spin: A pair of arrow buttons that the user can click to increment or decrement a value It is most often used with textbox, which is called a buddy window.
LRESULT SetBuddy(HWND hEditBox)
LRESULT SetBuddy(Win::Textbox& txbox)
LRESULT SetPosition(int position)
LRESULT SetRange(int minimum, int maximum)
Spin(void)
bool IsEvent(Win::Event& e, int notification)
int GetPosition()
virtual ~ Spin(void)
int Position

StatusBar: It is a horizontal window at the bottom of a parent window in which an application can display various kinds of status information. The status bar can be divided into parts to display more than one type of information.
BOOL SetPartIcon(INT index, HICON hIcon)
BOOL SetPartIcon(INT index, UINT resourceID, HINSTANCE hInst)
COLORREF SetBackcolor(COLORREF rgb)
LRESULT GetPartText(int index, wchar_t* buffer)
LRESULT SetPartCount(int nCount, int* nPartWidth)
LRESULT SetPartText(int index, const wchar_t* szText)
StatusBar(void)
int GetPartTextLength(int index)
virtual ~ StatusBar(void)
void SetMinHeight(int height)

SysLink
SysLink(void)
virtual ~ SysLink(void)
void GetItem(LITEM& litem)
void SetItem(LITEM& litem)

Tab: It is analogous to the dividers in a notebook or the labels in a file cabinet
HIMAGELIST SetImageList(Win::ImageList& imageList)
LPARAM GetSelectedData()
LRESULT HighLightItem(int index, bool bIsHighLight)
Tab(void)
bool IsEvent(Win::Event& e, int notification)
int GetSelectedIndex()
int SetSelected(int index)
virtual ~ Tab(void)
void SetSelectedByData(LPARAM data)
int SelectedIndex
LPARAM SelectedData

TabHeader: It is analogous to the top part of the dividers in a notebook or the labels in a file cabinet
COLORREF GetBackColor()
COLORREF GetTextColor()
HFONT GetFont()
HIMAGELIST SetImageList(Win::ImageList& imageList)
LPARAM GetSelectedData()
TabHeader()
bool CopyToBitmap(int width, int height, bool clientEdge, CG::DIBitmap& result)
bool DeleteItem(int index)
bool GetItem(int index, wstring& out_text, int& out_iconIndex, LPARAM& out_data)
bool GetItemData(int index, LPARAM& out_data)
bool GetItemIcon(int index, int& out_iconIndex)
bool GetItemRect(int index, RECT& out_rect)
bool GetItemText(int index, wstring& out_text)
bool InsertItem(int index, LPARAM data, const wchar_t* text)
bool InsertItem(int index, const wchar_t* text)
bool InsertItem(int index, const wchar_t* text, int iconIndex)
bool InsertItem(int index, const wchar_t* text, int iconIndex, LPARAM data)
bool IsEvent(Win::Event& e, int notification)
bool SetItem(int index, const wchar_t* text, int iconIndex, LPARAM data)
bool SetItemData(int index, LPARAM data)
bool SetItemIcon(int index, int iconIndex)
bool SetItemText(int index, const wchar_t* text)
bool SetSelected(int index)
bool SetSelectedByData(LPARAM data)
int FindItemIndex(const wchar_t* text)
it returns the item with the specified text or -1 if the text is not found
int GetItemCount()
int GetLineWidth()
int GetMinimumHeight()
It returns the minimum height of the control in pixels After inserting the tabs (items) in the control send a WM_SIZE to the parent to re-adjust the parent layout this->SendMessage(WM_SIZE, 0, MAKELPARAM(width, height)); From Window_Size() you can call GetMinimumHeght() to re-arrange the GUI elements
int GetSelectedIndex()
virtual void SetBackColor(COLORREF color)
virtual void SetFont(Win::Gdi::Font& font)
virtual void SetTextColor(COLORREF color)
void AddItem(LPARAM data, const wchar_t* text)
void AddItem(const wchar_t* text)
void AddItem(const wchar_t* text, int iconIndex)
void AddItem(const wchar_t* text, int iconIndex, LPARAM data)
void DeleteAllItems()
void GetControlSize(int& width, int& height)
void OnPaintControl(CG::IGdi& gdi)
void Refresh()
void Reset()
void SetControlSize(int width, int height)
void SetFont(HFONT hfont)
void SetLineWidth(int lineWidth)
~ TabHeader()
COLORREF BackColor
COLORREF TextColor
Win::Gdi::Font& Font
int SelectedIndex
LPARAM SelectedData

TabHeaderItem
TabHeaderItem()
~ TabHeaderItem()

TabItem
BOOL Delete()
LPARAM GetData()
TabItem(void)
bool GetItemRect(int index, RECT& rect)
int GetImageIndex()
virtual ~ TabItem(void)
void SetData(LPARAM data)
void SetImageIndex(int imageIndex)
void SetText(const wstring& text)
wstring GetText()
wstring Text
LPARAM Data
int ImageIndex

TabItemCollection
LRESULT DeleteAll()
TabItemCollection(void)
Win::TabItem& operator [ ](long index)
bool Get(TCITEM& item)
bool Set(TCITEM& item)
int Add(int index, TCITEM& item)
int Add(int index, const wchar_t* text)
int Add(int index, const wchar_t* text, LPARAM data)
int Add(int index, const wchar_t* text, int imageIndex, LPARAM data)
int Add(int index, const wstring& text)
int Add(int index, const wstring& text, LPARAM data)
int Add(int index, const wstring& text, int imageIndex, LPARAM data)
int Add(int index, int imageIndex, const wchar_t* text)
int Add(int index, int imageIndex, const wstring& text)
int GetCount()
int GetIndex(const wchar_t* text)
virtual ~ TabItemCollection(void)
int Count

Tank: It displays a tank with liquid. The level of the liquid can be modified.
COLORREF GetTankColor(void)
Tank()
double GetLevel()
double GetMaximum()
double GetMinimum()
void SetLevel(double level)
void SetRange(double minimum, double maximum)
void SetTankColor(COLORREF color)
~ Tank()
double Level
COLORREF TankColor

Textbox: A rectangular control window to enter and edit text by typing on the keyboard
COLORREF GetBackColor()
COLORREF GetTextColor()
LRESULT GetSelection(int& start, int& end)
It gets the starting and ending character positions of the current selection  Google Microsoft
LRESULT Scroll(WPARAM how)
LRESULT SetCueBanner(wchar_t* cue)
LRESULT SetSelection(int start, int end)
Textbox(HWND hWnd)
Textbox(void)
bool AppendText(const wchar_t* buffer)
bool CanUndo()
bool GetIntValue(int& outValue)
bool GetLine(wchar_t* result, int lineIndex, int bufferSize)
bool GetParagraphText(vector<wstring >& output)
bool IsCenterAlign()
bool IsEnabled()
bool IsEvent(Win::Event& e, int notification)
bool IsLeftAlign()
bool IsLowercase()
bool IsMultiline()
bool IsNumber()
bool IsPassword()
bool IsReadOnly()
bool IsRightAlign()
bool IsUppercase()
bool Undo()
double GetDoubleValue()
int FindNext(const wchar_t* findThis, bool matchWholeWord, bool matchCase)
The function selects the specified text, if a match is found and returns the position of the text. Otherwise, it returns -1
int GetEditingPosition()
It returns the position of the editing position (caret position) in the text from 0 to length-1
int GetElementCount(const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
int GetIntValue(void)
int GetLineCount()
int GetLineLength(int lineIndex)
int GetMaxTextLength()
int GetOffset(int line)
void SetPrintList(int type); WIN_LISTTYPE_NONE, WIN_LISTTYPE_NUMBER, WIN_LISTTYPE_UNNUMBER
int ReplaceAll(const wchar_t* findThis, const wchar_t* replaceWithThis, bool matchWholeWord, bool matchCase)
It returns the number of replacements
int ReplaceNext(const wchar_t* findThis, const wchar_t* replaceWithThis, bool matchWholeWord, bool matchCase)
It replaces the current selection, then it selects the specified text, if a match is found If the word is found, it returns the position of the word. Otherwise, it returns -1
virtual bool IsVisible()
virtual void SetBackColor(COLORREF color)
virtual void SetTextColor(COLORREF color)
virtual void SetVisible(bool visible)
virtual ~ Textbox(void)
void ClearSelection()
void CopyToClipboard()
void CutSelection()
void HideBalloonTip()
void OnPrintElement(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, const Win::PrintElementInfo& pei)
void OnPrintPartBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
void OnPrintPartEnd(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
void PasteFromClipboard()
void Print()
void ReplaceSelection(const wchar_t* replaceWithThis, bool canBeUndone)
void ScrollCaret()
it scrolls the caret into view  Google Microsoft
void SelectAll()
void SetCenterAlign(bool isCenterAlign)
void SetDoubleValue(double value)
void SetDoubleValue(double value, const wchar_t* format)
void SetEnabled(bool enabled)
void SetIntValue(int value)
void SetLeftAlign(bool isLeftAlign)
void SetLowercase(bool isLowercase)
void SetMaxTextLength(int maxTextLength)
Check for notification EN_MAXTEXT
void SetMultiline(bool isMultiline)
void SetNumber(bool isNumber)
void SetPassword(bool isPassword)
void SetPrintAlignment(int alignment)
void SetReadOnly(bool readOnly)
void SetRightAlign(bool isRightAlign)
void SetText(const wstring& text)
void SetUppercase(bool isUppercase)
void ShowBalloonTip(const wchar_t* caption, const wchar_t* text, int icon)
icon: TTI_ERROR,TTI_INFO,TTI_NONE,TTI_WARNING
void ShowBalloonTip(const wstring& caption, const wstring& text, int icon)
icon: TTI_ERROR,TTI_INFO,TTI_NONE,TTI_WARNING
void SqlUpdate(bool toGui)
void UpdateValue()
wstring GetLine(int lineIndex)
wstring& GetText()
wstring& SqlGetString()
wstring Text
bool Visible
bool Enabled
double DoubleValue
int IntValue
bool Password
bool ReadOnly
int MaxTextLength
bool Multiline
COLORREF BackColor
COLORREF TextColor
bool LeftAlign
bool CenterAlign
bool RightAlign
bool Uppercase
bool Lowercase
bool Number

Timer
Timer()
void Kill(UINT_PTR timer_id)
void Set(UINT_PTR timer_id, UINT duration)
~ Timer()

TitleBarButton
TitleBarButton()
bool GetEnabled()
bool NcCreate(HINSTANCE hInstance, int idi_enabled, int idi_disabled)
bool NcLButtonDown(HWND hWnd, Win::Event& e, CG::Region& regionWindow)
bool NcLButtonUp(HWND hWnd, Win::Event& e, CG::Region& regionWindow)
void GetRect(RECT& out_rect)
void NcCalcSize(const RECT& rectButton)
void NcCalcSize(int x, int y, int width, int height)
void NcMouseMove(HWND hWnd, Win::Event& e, CG::Region& regionWindow)
void NcPaint(CG::Gdi& gdi)
void Redraw(HWND hWnd, CG::Region& regionWindow)
void SetEnabled(bool isEnabled)
~ TitleBarButton()
bool Enabled

Toolbar: It contains one or more buttons. Each button, when clicked by a user, generates an event
BOOL DeleteButton(int index)
It deletes a button from the toolbar  Google Microsoft
LRESULT AddBitmap(HINSTANCE hInst, UINT idBitmap, UINT_PTR nImages)
It adds one or more images to the list of button images available for a toolbar  Google Microsoft
LRESULT AddButtons(LPCTBBUTTON lpButtons, UINT nButtons)
It adds one or more buttons to a toolbar  Google Microsoft
LRESULT AddStdBitmap(bool bLarge)
It adds one or more images to the list of button images available for a toolbar TBBUTTON index: STD_COPY, STD_CUT, STD_DELETE, STD_FILENEW, STD_FILEOPEN STD_FILESAVE, STD_HELP, STD_PASTE, STD_PRINT, STD_PRINTPRE STD_PROPERTIES, STD_REDOW, STD_REPLACE, STD_UNDO Google Microsoft
LRESULT AddString(const wchar_t* szText)
It adds a new string to the toolbar's string pool  Google Microsoft
LRESULT AddViewBitmap(bool bLarge)
It adds one or more images to the list of button images available for a toolbar You can use either AddViewBitmap or LoadViewImages TBBUTTON index: VIEW_DETAILS, VIEW_LARGEICONS, VIEW_LIST, VIEW_SMALLICONS VIEW_SORTDATE, VIEW_SORTNAME, VIEW_SORTSIZE, VIEW_SORTTYPE  Google Microsoft
LRESULT GetButtonState(int button_id)
It retrieves information about the state of the specified button in a toolbar, such as whether it is enabled, pressed, or checked Google Microsoft
LRESULT LoadHistoryImages(bool bLarge)
TBBUTTON index: HIST_ADDTOFAVORITES, HIST_BACK, HIST_FAVORITES HIST_FORWARD, HIST_VIEWTREE  Google Microsoft
LRESULT LoadStdImages(bool bLarge)
It loads system-defined button images into a toolbar control's image list TBBUTTON index_ STD_COPY, STD_CUT, STD_DELETE, STD_FILENEW, STD_FILEOPEN STD_FILESAVE, STD_HELP, STD_PASTE, STD_PRINT, STD_PRINTPRE STD_PROPERTIES, STD_REDOW, STD_REPLACE, STD_UNDO Google Microsoft
LRESULT LoadViewImages(bool bLarge)
It loads system-defined button images into a toolbar control's image list TBBUTTON index: VIEW_DETAILS, VIEW_LARGEICONS, VIEW_LIST, VIEW_SMALLICONS VIEW_SORTDATE, VIEW_SORTNAME, VIEW_SORTSIZE, VIEW_SORTTYPE  Google Microsoft
LRESULT SetDisabledImageList(Win::ImageList& imageList)
It sets the image list that the toolbar control will use to display disabled buttons  Google Microsoft
LRESULT SetImageList(Win::ImageList& imageList)
It sets the image list that the toolbar uses to display buttons that are in their default state  Google Microsoft
Toolbar(void)
bool CheckButton(int button_id, bool checked)
It checks or unchecks a given button in a toolbar  Google Microsoft
bool EnableButton(int button_id, bool enabled)
It enables or disables the specified button in a toolbar  Google Microsoft
bool GetButton(int index, TBBUTTON& out_button)
It retrieves information about the specified button in a toolbar  Google Microsoft
bool GetIdealSize(SIZE& out_size)
bool GetItemRect(int index, RECT& out_Rect)
It retrieves the bounding rectangle of a button in a toolbar  Google Microsoft
bool GetMaxSize(SIZE& out_size)
It retrieves the total size of all of the visible buttons and separators in the toolbar  Google Microsoft
bool HideButton(int button_id, bool hidden)
It hides or shows the specified button in a toolbar  Google Microsoft
bool InsertButton(int index, TBBUTTON& button)
It inserts a button in a toolbar  Google Microsoft
bool IsButtonChecked(int button_id)
It determines whether the specified button in a toolbar is checked  Google Microsoft
bool IsButtonEnabled(int button_id)
It determines whether the specified button in a toolbar is enabled  Google Microsoft
bool IsButtonHidden(int button_id)
It determines whether the specified button in a toolbar is hidden  Google Microsoft
bool IsButtonPressed(int button_id)
It determines whether the specified button in a toolbar is checked  Google Microsoft
bool IsEvent(Win::Event& e, int notification)
bool PressButton(int button_id, bool pressed)
It presses or releases the specified button in a toolbar  Google Microsoft
bool SetBitmapSize(UINT width, UINT height)
It sets the size of the bitmapped images to be added to a toolbar  Google Microsoft
bool SetButtonSize(int width, int height)
It sets the size of buttons on a toolbar Google Microsoft
bool SetButtonWidth(int mimimum, int maximum)
It sets the minimum and maximum button widths in the toolbar control  Google Microsoft
bool SetCommandID(int index, int command_id)
It sets the command identifier of a toolbar button  Google Microsoft
int GetButtonCount()
It retrieves a count of the buttons currently in the toolbar  Google Microsoft
int GetIdealHeight()
It gets the ideal height of the toolbar so that all buttons would be vertically displayed  Google Microsoft
int GetIdealWidth()
It gets the ideal width of the toolbar so that all buttons would be displayed at the current height  Google Microsoft
int GetRowCount()
It retrieves the number of rows of buttons in a toolbar with the TBSTYLE_WRAPABLE style.  Google Microsoft
virtual ~ Toolbar(void)
void AutoSize()
It causes a toolbar to be resized  Google Microsoft
void Customize()
It displays the Customize Toolbar dialog box The toolbar must handle the TBN_QUERYINSERT and TBN_QUERYDELETE notifications for the Customize Toolbar dialog box to appear  Google Microsoft
void GetButtonSize(int& out_width, int& out_height)
It retrieves the current width and height of toolbar buttons, in pixels  Google Microsoft
void GetMetrics(TBMETRICS& out_tbmetrics)
It retrieves the metrics of a toolbar control. Please set the dwMask field of the TBMETRICS structure before calling this function  Google Microsoft
void ResizeToFit()
It resizes the toolbar dimensions to display all buttons.
void SetMaxTextRows(int count)
It sets the maximum number of text rows displayed on a toolbar button  Google Microsoft
void SetMetrics(TBMETRICS& tbmetrics)
It sets the metrics of a toolbar control  Google Microsoft
void SetRows(int numRows, bool createMoreRows, RECT& out_resultingRectAfterSettingRows)
It sets the number of rows of buttons in a toolbar  Google Microsoft

Tooltip: They are pop-up windows that display text The text usually describes a tool, which is either a window, such as a child window or control, or an application-defined rectangular area within a window's client area
HWND Create(DWORD dwExStyle, const wchar_t* pszWindowName, DWORD dwStyle, int x, int y, int width, int height, HWND hParent, int id)
HWND Create(HWND parent)
Tooltip(HWND hWnd)
Tooltip(void)
bool AddTool(HWND hWndControl, unsigned int control_id, const wchar_t* tip)
It registers a control (a window) with a tooltip control  Google Microsoft
bool AddTool(Win::Module& control, const wchar_t* tip)
It registers a control (a window) with a tooltip control  Google Microsoft
bool EnumTools(unsigned int control_index, TOOLINFO& out_toolinfo)
control_index is a zero-based index of the tool for which to retrieve information It retrieves the information that a tooltip control maintains about the specified control.  Google Microsoft
bool GetCurrentTool(TOOLINFO& out_toolinfo)
It retrieves the information for the current tool in a tooltip control. .  Google Microsoft
bool GetToolInfo(HWND hWndControl, unsigned int control_id, TOOLINFO& out_toolinfo)
It retrieves the information that a tooltip control maintains about the associated control.  Google Microsoft
bool GetToolInfo(Win::Module& control, TOOLINFO& out_toolinfo)
It retrieves the information that a tooltip control maintains about the associated control.  Google Microsoft
bool HitTest(TTHITTESTINFO& hitTestInfo)
It tests a point to determine whether it is within the bounding rectangle of the specified tool and, if it is, retrieves information about the tool. The hwnd member must specify the handle to a tool and the pt member must specify the coordinates of a point  Google Microsoft
bool SetTitle(wchar_t* title, int id_icon)
The title must not exceed 100 TCHARs in length, including the terminating nullptr It adds an icon and title string to a tooltip  Google Microsoft
bool SetTitleWithStandardIcon(wchar_t* title, int tti_icon)
TTI_NONE, TTI_INFO, TTI_WARNING, TTI_ERROR,TTI_INFO_LARGE, TTI_WARNING_LARGE, TTI_ERROR_LARGE The title must not exceed 100 TCHARs in length, including the terminating nullptr It adds an icon and title string to a tooltip  Google Microsoft
int GetMaxTipWidth()
It returns avalue that represents the maximum tooltip width, in pixels. If no maximum width was set previously, the message returns -1  Google Microsoft
int SetMaxTipWidth(int maxTipWidth)
It sets the maximum width for a tooltip window (use -1 to allow any width). if a tooltip string exceeds the maximum width, the control breaks the text into multiple lines, using spaces to determine line breaks  Google Microsoft
virtual ~ Tooltip(void)
void DelTool(HWND hWndControl, unsigned int control_id)
It removes a control (a window) from a tooltip control  Google Microsoft
void DelTool(Win::Module& control)
It removes a control (a window) from a tooltip control  Google Microsoft
void GetText(HWND hWndControl, unsigned int control_id, wchar_t* buffer, int buffer_size)
It returns the text tip associated with the control  Google Microsoft
void GetText(Win::Module& control, wchar_t* buffer, int buffer_size)
It returns the text tip associated with the control  Google Microsoft
void NewToolRect(HWND hWndControl, unsigned int control_id)
It updates the rectangle of the control  Google Microsoft
void NewToolRect(Win::Module& control)
It updates the rectangle of the control  Google Microsoft
void SetToolInfo(HWND hWndControl, unsigned int control_id, const TOOLINFO& toolinfo)
The string pointed to by the lpszText member of the TOOLINFO structure must not exceed 80 TCHARs in length It sets the information that a tooltip control maintains about the associated control.  Google Microsoft
void SetToolInfo(Win::Module& control, const TOOLINFO& toolinfo)
The string pointed to by the lpszText member of the TOOLINFO structure must not exceed 80 TCHARs in length It sets the information that a tooltip control maintains about the associated control.  Google Microsoft
void UpdateTipText(HWND hWndControl, unsigned int control_id, const wchar_t* tip)
It updates the tip  Google Microsoft
void UpdateTipText(Win::Module& control, const wchar_t* tip)
It updates the tip  Google Microsoft

Tray: It provides support to handle the tray (the notification area in the right-bottom corner of the screen)
BOOL Add(UINT idIcon, const wchar_t* szTip)
BOOL Delete()
BOOL ModifyIcon(UINT idIcon)
BOOL ModifyTip(const wchar_t* szTip)
Tray(void)
UINT GetId()
bool IsTrayMessage(UINT uMsg, WPARAM wParam)
virtual ~ Tray(void)
void Create(HINSTANCE hInst, HWND hWndParent, UINT id)

TreeView: A classic tree diagram with nodes
COLORREF GetBackColor()
COLORREF GetLineColor()
COLORREF GetTextColor()
HIMAGELIST SetImageList(Win::ImageList& imageList)
HTREEITEM GetFirstChild_(HTREEITEM hItemParent)
HTREEITEM GetNextItem(UINT flag, HTREEITEM hItem)
TVGN_FIRSTVISIBLE: Retrieves the first item that is visible in the tree-view window. You can use the TreeView_GetFirstVisible macro to send this message. TVGN_LASTVISIBLE: Version 4.71. Retrieves the last expanded item in the tree. This does not retrieve the last item visible in the tree-view window. You can use the TreeView_GetLastVisible macro to send this message. TVGN_NEXT: Retrieves the next sibling item. You can use the TreeView_GetNextSibling macro to send this message. TVGN_NEXTVISIBLE: Retrieves the next visible item that follows the specified item. The specified item must be visible. Use the TVM_GETITEMRECT message to determine whether an item is visible. You can use the TreeView_GetNextVisible macro to send this message. TVGN_PARENT: Retrieves the parent of the specified item. You can use the TreeView_GetParent macro to send this message. TVGN_PREVIOUS: Retrieves the previous sibling item. You can use the TreeView_GetPrevSibling macro to send this message. TVGN_PREVIOUSVISIBLE: Retrieves the first visible item that precedes the specified item. The specified item must be visible. Use the TVM_GETITEMRECT message to determine whether an item is visible. You can use the TreeView_GetPrevVisible macro to send this message. TVGN_ROOT: Retrieves the topmost or very first item of the tree-view control. You can use the TreeView_GetRoot macro to send this message.
HTREEITEM GetNextSibling_(HTREEITEM hItem)
HTREEITEM GetParent(HTREEITEM hItem)
HTREEITEM GetPreviousSibling(HTREEITEM hItem)
HTREEITEM GetRoot()
HTREEITEM GetSelectedItem()
HTREEITEM GetSelectedItem(HTREEITEM hItem)
HTREEITEM InsertItem(HTREEITEM hParent, HTREEITEM hInsertAfter, const wchar_t* text)
hParent: Handle to the parent item. If this member is the TVI_ROOT value or nullptr, the item is inserted at the root of the tree-view control. hInsertAfter: Handle to the item after which the new item is to be inserted, or one of the following values: TVI_FIRST: Inserts the item at the beginning of the list. TVI_LAST: Inserts the item at the end of the list. TVI_ROOT: Add the item as a root item. TVI_SORT: Inserts the item into the list in alphabetical order.
HTREEITEM InsertItem(HTREEITEM hParent, HTREEITEM hInsertAfter, const wchar_t* text, LPARAM data)
hParent: Handle to the parent item. If this member is the TVI_ROOT value or nullptr, the item is inserted at the root of the tree-view control. hInsertAfter: Handle to the item after which the new item is to be inserted, or one of the following values: TVI_FIRST: Inserts the item at the beginning of the list. TVI_LAST: Inserts the item at the end of the list. TVI_ROOT: Add the item as a root item. TVI_SORT: Inserts the item into the list in alphabetical order.
HTREEITEM InsertItem(HTREEITEM hParent, HTREEITEM hInsertAfter, const wchar_t* text, int imageIndex, int selectedImageIndex)
hParent: Handle to the parent item. If this member is the TVI_ROOT value or nullptr, the item is inserted at the root of the tree-view control. hInsertAfter: Handle to the item after which the new item is to be inserted, or one of the following values: TVI_FIRST: Inserts the item at the beginning of the list. TVI_LAST: Inserts the item at the end of the list. TVI_ROOT: Add the item as a root item. TVI_SORT: Inserts the item into the list in alphabetical order.
HTREEITEM InsertItem(HTREEITEM hParent, HTREEITEM hInsertAfter, const wchar_t* text, int imageIndex, int selectedImageIndex, LPARAM data)
hParent: Handle to the parent item. If this member is the TVI_ROOT value or nullptr, the item is inserted at the root of the tree-view control. hInsertAfter: Handle to the item after which the new item is to be inserted, or one of the following values: TVI_FIRST: Inserts the item at the beginning of the list. TVI_LAST: Inserts the item at the end of the list. TVI_ROOT: Add the item as a root item. TVI_SORT: Inserts the item into the list in alphabetical order.
HTREEITEM InsertItem(HTREEITEM hParent, HTREEITEM hInsertAfter, const wchar_t* text, int imageIndex, int selectedImageIndex, LPARAM data, UINT state)
hParent: Handle to the parent item. If this member is the TVI_ROOT value or nullptr, the item is inserted at the root of the tree-view control. hInsertAfter: Handle to the item after which the new item is to be inserted, or one of the following values: TVI_FIRST: Inserts the item at the beginning of the list. TVI_LAST: Inserts the item at the end of the list. TVI_ROOT: Add the item as a root item. TVI_SORT: Inserts the item into the list in alphabetical order.
HTREEITEM InsertItem(TVINSERTSTRUCT& tvinsert)
TreeView(void)
Win::Textbox EditLabel(HTREEITEM hItem)
Begins in-place editing of the specified item's text, replacing the text of the item with a single-line edit control containing the text. This message implicitly selects and focuses the specified item.
Win::Textbox GetTextBox()
Win::Tooltip GetToolTip()
Win::Tooltip SetToolTip(Win::Tooltip& tooltip)
It returns the previous tooltip control
bool DeleteAllItems()
bool DeleteItem(HTREEITEM hItem)
bool ExpandItem(HTREEITEM hItem, WPARAM option)
option: TVE_COLLAPSE, TVE_COLLAPSERESET, TVE_EXPAND, TVE_EXPANDPARTIAL, TVE_TOGGLE
bool GetItem(TVITEMEX& tvitem)
bool GetItemData(HTREEITEM hItem, LPARAM& lParam)
bool GetItemImage(HTREEITEM hItem, int& imageIndex)
bool GetItemRect(RECT& rc, HTREEITEM hItem, bool onlyTextBox)
bool GetItemText(HTREEITEM hItem, wchar_t* buffer, int bufferSize)
bool GetSelectedData(LPARAM& out_data)
bool IsEvent(Win::Event& e, int notification)
bool RemoveSelection()
bool SelectItem(DWORD flag, HTREEITEM hItem)
TVGN_CARET : Sets the selection to the specified item. The tree-view control's parent window receives the TVN_SELCHANGING and TVN_SELCHANGED notification messages. TVGN_DROPHILITE: Redraws the specified item in the style used to indicate the target of a drag-and-drop operation. TVGN_FIRSTVISIBLE: Ensures that the specified item is visible, and, if possible, displays it at the top of the control's window. Tree-view controls display as many items as will fit in the window. If the specified item is near the bottom of the control's hierarchy of items, it might not become the first visible item, depending on how many items fit in the window. TVSI_NOSINGLEEXPAND
bool SelectItem(HTREEITEM hItem)
bool SetItem(const TVITEMEX& tvitem)
bool SetItemData(HTREEITEM hItem, LPARAM data)
bool SetItemImage(HTREEITEM hItem, int imageIndex)
bool SetItemSelectedState(HTREEITEM hItem, bool selected)
bool SetItemState(HTREEITEM hItem, UINT state, UINT stateMask)
state and stateMask: TVIS_SELECTED, TVIS_CUT, TVIS_DROPHILITED, TVIS_BOLD, TVIS_EXPANDED, TVIS_EXPANDEDONCE, TVIS_EXPANDPARTIAL, TVIS_OVERLAYMASK, TVIS_STATEIMAGEMASK, TVIS_USERMASK
bool SetItemText(HTREEITEM hItem, const wchar_t* text)
bool SortChildren(HTREEITEM hItemParent, bool recursive)
int GetChildrenCount(HTREEITEM hItemParent)
int GetChildrenIndex(HTREEITEM hItemParent, HTREEITEM hItem)
It returns: 0, 1, 2, 3, ..., childrenCount -1
int GetCount(void)
int GetIndent()
int GetItemHeight()
int GetVisibleCount(void)
virtual ~ TreeView(void)
void EnsuresVisible(HTREEITEM hItem)
Ensures that a tree-view item is visible, expanding the parent item or scrolling the tree-view control, if necessary
void RemoveSelectionRecursive()
void SetBackColor(COLORREF color)
void SetIndent(int indent)
void SetItemHeight(int height)
New height of every item in the tree view, in pixels.Heights less than 1 will be set to 1. If this argument is not even and the tree - view control does not have the TVS_NONEVENHEIGHT style, this value will be rounded down to the nearest even value.If this argument is - 1, the control will revert to using its default item height.
void SetLineColor(COLORREF color)
New line color. Use the CLR_DEFAULT value to restore the system default colors.
void SetStateRecursive(HTREEITEM hItemParent, UINT state, UINT stateMask)
state and stateMask: TVIS_SELECTED, TVIS_CUT, TVIS_DROPHILITED, TVIS_BOLD, TVIS_EXPANDED, TVIS_EXPANDEDONCE, TVIS_EXPANDPARTIAL, TVIS_OVERLAYMASK, TVIS_STATEIMAGEMASK, TVIS_USERMASK The state of the parent is not changed
void SetTextColor(COLORREF color)
int Indent
COLORREF BackColor
COLORREF LineColor
COLORREF TextColor
int ItemHeight

ValueDisplay: It displays a variable name and value
COLORREF GetValueColor()
ValueDisplay(void)
double GetDouble()
virtual ~ ValueDisplay(void)
void SetDouble(double value)
void SetText(const wstring& text)
void SetValue(const wstring& value)
void SetValueColor(COLORREF color)
wstring& GetText()
wstring& GetValue()
wstring Text
wstring& Value
double DoubleValue
COLORREF ValueColor

VerticalScroll: It provides functionability to scroll items vertically
VerticalScroll(const Win::VerticalScroll& init)
VerticalScroll(void)
Win::VerticalScroll& operator =(const Win::VerticalScroll& init)
bool GetItemRect(int rowIndex, RECT& out_rect)
bool GetSelectionRect(RECT& out_rect)
bool IsSelectionVisible()
bool IsVariableItemHeight()
bool SetRowHeights(const valarray<int >& rowHeights)
bool SetSelectedRow(int rowIndex)
bool SetSelectedRows(int rowIndex1, int rowIndex2)
It selects the rows from rowIndex1 to rowIndex2 including rowIndex2
int GetRowCount()
int GetRowHeight()
int GetRowHeight(int index)
int GetSelectedRow()
virtual void VerticalPaint(int paintEvent, CG::Gdi& gdi, const RECT& cell, int rowIndex, bool isSelected)
paintEvent: WNT_PAINTCELLSBEGIN, WNT_PAINTCELL, WNT_PAINTCELLSEND
virtual ~ VerticalScroll(void)
void Delete()
void GetSelectedRows(int& out_rowIndex1, int& out_rowIndex2)
It returns the index of the fist selected row and the index of the last selected row The returned indexes are -1, if there is no selection
void RemoveSelection()
void RepaintRow(int rowIndex)
void RepaintSelectedItem()
void ResetPosition()
void SetRowCount(int rowCount)
void SetRowHeight(int rowHeight)
void ShowSelection()
It scrolls the control to make the selection visible
int RowHeight
int RowCount
int SelectedRow

VerticalSplitter
HWND Setup(HWND parent, int splitterPositionX)
VerticalSplitter(void)
virtual ~ VerticalSplitter(void)
void SetSplitterPosition(int x)
Call this function to manually set the position of the splitter
void UpdateChildrenPosition()
Call this function in Window_Size and Window_Open

VideoAvi: It plays an uncompressed AVI file (with no sound) or a compressed using run-length (BI_RLE8) encoding
BOOL CloseAnimation()
BOOL Play(UINT from, UINT to, UINT repeat)
BOOL Play(int repeatCount)
BOOL PlayContinuously()
BOOL Stop()
COLORREF GetBackColor()
HWND Create(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, int x, int y, int width, int height, HWND hParent, int id)
HWND CreateX(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, double cmX, double cmY, double cmWidth, double cmHeight, HWND hParent, int id)
VideoAvi()
bool Open(LPTSTR name)
It plays an uncompressed AVI file (with no sound) or a compressed using run-length (BI_RLE8) encoding  Google Microsoft
bool Open(int resourceID)
It plays an uncompressed AVI file (with no sound) or a compressed using run-length (BI_RLE8) encoding Be you sure you have an AVI resource by editing the MyProject.rc file as shown IDA_MYVIDEO AVI "myvideo.avi"  Google Microsoft
virtual bool IsEvent(Win::Event& e, int notification)
virtual ~ VideoAvi()
void SetBackColor(COLORREF color)
COLORREF BackColor

View3D: It displays a graphics in a 3D coordinate system
COLORREF GetBackColor()
COLORREF GetGridColor()
COLORREF GetLineColor()
COLORREF GetTextColor()
COLORREF GetZColor(double z, int numColors)
numColors = 2: Blue > Cyan numColors = 3: Blue > Cyan > Green numColors = 4: Blue > Cyan > Green > Yellow numColors = 5: Blue > Cyan > Green > Yellow > Red numColors = 6: Blue > Cyan > Green > Yellow > Red > Purple numColors = 7: Blue > Cyan > Green > Yellow > Red > Purple > Black
HFONT GetFont()
View3D(void)
bool CopyToBitmap(int width, int height, bool clientEdge, CG::DDBitmap& result)
bool CopyToClipboard()
bool GetShowBackAxis(void)
bool GetShowDivX(void)
bool GetShowDivY(void)
bool GetShowDivZ(void)
bool GetShowFrontAxis(void)
bool IsEvent(Win::Event& e, int notification)
bool SaveEmf(const wchar_t* filename)
bool Setup()
double GetAngle(void)
double GetElevation(void)
double GetMaxX()
double GetMaxY()
double GetMaxZ()
double GetMinX()
double GetMinY()
double GetMinZ()
double GetZoom(void)
double TransformToGridX(double x)
Returns the gridValueX using the scaling and translation of View3D
double TransformToGridY(double y)
Returns the gridValueY using the scaling and translation of View3D
double TransformToGridZ(double z)
Returns the gridValueZ using the scaling and translation of View3D
double TransformX(double gridValueX)
Returns the value of X using the scaling and translation of View3D
double TransformY(double gridValueY)
Returns the value of Y using the scaling and translation of View3D
double TransformZ(double gridValueZ)
Returns the value of Z using the scaling and translation of View3D
int GetDivisionCountX()
int GetDivisionCountY()
int GetDivisionCountZ()
int GetElementCount(const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
int GetLineWidth()
static void ConvertFromSphericalToCartesian(Sys::SphericalPoint* input, Sys::Point3D* output, const int count)
virtual void OnPaint3D(CG::IGdi& gdi)
virtual void SetBackColor(COLORREF color)
virtual void SetFont(Win::Gdi::Font& font)
virtual void SetLineColor(COLORREF color)
virtual void SetTextColor(COLORREF color)
virtual ~ View3D(void)
void GetCenter(double& centerX, double& centerY)
void GetControlSize(int& width, int& height)
void GetLogfont(LOGFONT& logfont)
void OnPaintControl(CG::IGdi& gdi)
void OnPrintElement(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, const Win::PrintElementInfo& pei)
void OnPrintPartBegin(CG::Gdi& gdi, const Win::PrintDocInfo& pdi, int element_width_millicm, int element_height_millicm)
void OnPrintPartEnd(CG::Gdi& gdi, const Win::PrintDocInfo& pdi)
void Print()
void ResetView(bool resetZoom)
void SetAngle(double angleDegrees)
void SetCaptionX(const wchar_t* caption, bool isFontSymbol)
void SetCaptionY(const wchar_t* caption, bool isFontSymbol)
void SetCaptionZ(const wchar_t* caption, bool isFontSymbol)
void SetCenter(double centerX, double centerY)
This function will not work, if it is called from Window_Open
void SetControlSize(int width, int height)
void SetDivisionCountX(int count)
void SetDivisionCountY(int count)
void SetDivisionCountZ(int count)
void SetElevation(double angleDegrees)
void SetFont(HFONT hfont)
void SetGridColor(COLORREF color)
void SetLine(Sys::Line3D& line, float x1, float y1, float z1, float x2, float y2, float z2, COLORREF color)
void SetLineWidth(int lineWidth)
void SetMaxX(double maximum)
void SetMaxY(double maximum)
void SetMaxZ(double maximum)
void SetMinX(double minimum)
void SetMinY(double minimum)
void SetMinZ(double minimum)
void SetShowBackAxis(bool show)
void SetShowDivX(bool show)
void SetShowDivY(bool show)
void SetShowDivZ(bool show)
void SetShowFrontAxis(bool show)
void SetZoom(double zoom)
void Setup(double minX, double maxX, double minY, double maxY, double minZ, double maxZ)
void Transform(Sys::Point3D* input, POINT* output, const int count)
void Transform(Sys::Point3D* input, Sys::Point* output, const int count)
void Transform(Sys::Point3D* input, Sys::Point16* output, const int count)
void Transform(const Sys::Grid& input, vector<Sys::Object3DInfo >& output, int& index)
void Transform(const vector<Sys::Line3D >& input, __int8 type, vector<Sys::Object3DInfo >& output, int& index)
void Transform(const vector<Sys::Triangle3D >& input, __int8 type, vector<Sys::Object3DInfo >& output, int& index)
void TransformToGrid(Sys::Point3D* input, POINT* output, const int count)
It modifies: input
COLORREF BackColor
COLORREF LineColor
COLORREF GridColor
COLORREF TextColor
Win::Gdi::Font& Font
double Zoom
double Angle
bool ShowBackAxis
bool ShowFrontAxis
bool ShowDivX
bool ShowDivY
bool ShowDivZ
double Elevation
double MinX
double MaxX
double MinY
double MaxY
double MinZ
double MaxZ
int DivisionCountX
int DivisionCountY
int DivisionCountZ

View3DSetupDlg: It provides an interactive method to setup the View3D control
View3DSetupDlg()
~ View3DSetupDlg()

Window
HWND CreateMainWindow(DWORD dwExStyle, DWORD dwStyle, int x, int y, int width, int height, const wchar_t* text, int cmdShow, USHORT iconID, USHORT menuID, HBRUSH bkgnd, HINSTANCE hInstance)
HWND CreateMainWindow(const wchar_t* text, int cmdShow, USHORT iconID, USHORT menuID, CG::Brush& background, HINSTANCE hInstance)
HWND CreateMainWindow(const wchar_t* text, int cmdShow, USHORT iconID, USHORT menuID, HBRUSH bkgnd, HINSTANCE hInstance)
HWND GetDialogItem(HWND hDlg, int id)
HWND GetHWND()
bool GetCommandFileName(const wchar_t* in_cmdLine, wstring& out_filename)
bool RegisterClassEx(HCURSOR hCursor, HBRUSH hbrBackground)
bool RegisterClassEx(UINT nClassStyle, bool bModelessDialog, HINSTANCE hInst, USHORT nIconId, USHORT nSmallIconId, USHORT nMenu, HCURSOR hCursor, HBRUSH hBackground)
bool RegisterGlobalClassEx(HCURSOR hCursor, HBRUSH hbrBackground)
int GetClientHeight()
int GetClientWidth()
int MessageBox(const wchar_t* text, const wchar_t* caption, UINT type)
int MessageBox(const wstring& text, const wstring& caption, UINT type)
int MessageLoop(WORD acceleratorsID, Win::IModelessDlg& modelessDlg)
int MessageLoop(WORD acceleratorsID, Win::IModelessDlg& modelessDlg1, Win::IModelessDlg& modelessDlg2)
int MessageLoop(WORD acceleratorsID, Win::IModelessDlg& modelessDlg1, Win::IModelessDlg& modelessDlg2, Win::IModelessDlg& modelessDlg3)
int MessageLoop(WORD acceleratorsID, Win::IModelessDlg& modelessDlg1, Win::IModelessDlg& modelessDlg2, Win::IModelessDlg& modelessDlg3, Win::IModelessDlg& modelessDlg4)
int MessageLoopIdle(WORD acceleratorsID)
This message loop calls Window_Idle to perform background processing, such as DirectX drawing
static bool UserControlRegisterClass()
virtual HWND Create(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, int pixelsX, int pixelsY, int pixelsWidth, int pixelsHeight, HWND hParent, int id)
virtual HWND CreateX(DWORD dwExStyle, const wchar_t* text, DWORD dwStyle, double cmX, double cmY, double cmWidth, double cmHeight, HWND hParent, int id)
virtual int MessageLoop(WORD acceleratorsID)
virtual void GetWindowInformation(CREATESTRUCT& createStruct)
virtual ~ Window(void)
void EndDialog(int result)

XyChart: It displays one or more XY graphs. It works together with the Win::Graph class. You can override OnPaintScaleX and OnPaintScaleY
COLORREF GetSubgridColor()
XyChart(void)
bool GetLogScaleX()
bool GetLogScaleY()
bool GetShowGrid()
bool IsEvent(Win::Event& e, int notification)
bool Load(const wchar_t* filename)
bool Save(const wchar_t* filename)
bool SetDivisionCountX(int count)
bool SetDivisionCountY(int count)
bool SetSubDivisionCountX(int count)
bool SetSubDivisionCountY(int count)
bool Setup()
double GetMaxX()
double GetMaxY()
double GetMinX()
double GetMinY()
double TransformFromScreenCoordinatesX(int x)
double TransformFromScreenCoordinatesY(int y)
int GetDivisionCountX()
int GetDivisionCountY()
int GetSubDivisionCountX()
int GetSubDivisionCountY()
static void GetOptimumMinMaxValues(double& out_in_min, double& out_in_max, int& out_ticks)
virtual ~ XyChart(void)
void AutoScaleX(bool bestView)
void AutoScaleY(bool bestView)
void AutoViewX(double minX, double maxX)
It sets the values of minX, maxX and divCountX to obtain the best presentation
void AutoViewY(double minY, double maxY)
It sets the values of minY, maxY and divCountY to obtain the best presentation
void ChooseSave(const wchar_t* workingFolder)
void OnPaintControl(CG::IGdi& gdi)
void RefreshAll()
void RefreshGraphArea()
void RefreshGraphCaption()
void SetCaptionX(const wstring& caption)
void SetCaptionY(const wstring& caption)
void SetCommaSeparatedFormat(bool useCommaX, bool useCommaY)
void SetFormat(const wchar_t* formatX, const wchar_t* formatY)
X: Automatic, Y: Two decimals > SetFormat(nullptr, L"%.2f"); X: Four decimals, Y: Two decimals > SetFormat(L"%.4f", L"%.2f");
void SetLogScaleX(bool logScale)
void SetLogScaleY(bool logScale)
void SetMaxX(double maximum)
void SetMaxY(double maximum)
void SetMinX(double minimum)
void SetMinY(double minimum)
void SetShowGrid(bool showGrid)
void SetSubgridColor(COLORREF color)
void SetSymbolCaption(bool captionX, bool captionY)
wstring& GetCaptionX()
wstring& GetCaptionY()
bool ShowGrid
double MinX
double MaxX
double MinY
double MaxY
int DivisionCountX
int DivisionCountY
int SubDivisionCountX
int SubDivisionCountY
wstring& CaptionX
wstring& CaptionY
bool LogScaleX
bool LogScaleY
COLORREF SubgridColor
© Copyright 2000-2021 selo. All Rights Reserved. Jul 22 2021.